[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