[cvsnt] Re: CVSNT reuses same PID....
Tony Hoyle
tmh at nodomain.org
Tue Dec 17 10:36:01 GMT 2002
Bo Berglund wrote:
> Now I just want to have someone tip me on how to differentiate between
> different cvs invocations of the loginfo script. What CVSNT does is
> start a cvs.exe process when the user sends in a commit. Then this cvs
> process loops through all submodules and calls the loginfo script
> repeatedly. I want to collect all of this output in a single message,
> so I create a temp dir where I store it for a short period until the
> last call is done. The temp dir name is derived from the PID of the
> main cvs.exe process as retrieved via $CVSPID.
You can't assume a PID won't be reused after the cvs.exe has terminated.
Under Unix the recycling takes quite a while. It seems NT recycles
quickly. Your script shouldn't be assuming that the PID is unique - it is
only guaranteed to be 'not the same as other running processes', which is
not the same thing. This is why commit scripts are usually combinations of
loginfo and commitinfo - commitinfo happens after all the loginfo
processing has completed.
Tony
More information about the cvsnt
mailing list