Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
On Thu, 8 Jan 2009 12:45:52 -0500, "Matthew McClellan" <MMcClellan at merkleinc.com> wrote: >I just noticed that each CVS action - whether it results in an email >sent or not - was generating a crash dump file in the CVS Temp >directory; I would still receive the correct email from CVSMailer >though, and the CVSNT services stay up and running. I removed all >records in CVSROOT/postcommand and set PostCommandSend=0 in the ini file >and then no crash dump files were created. > >Can anyone explain the value of using PostCommandSend? Is it primarily >to guarantee that all emails are sent, even in the case that a CVS >action takes longer than the ini MailSendDelay value? When the postcommand script appeared in CVSNT (it was not there before) I enabled the use of tyhis because then one could bypass the delay during which CVSMailer collects data from all invocations (one per processed directory) caused by the same client cvs command. This script is triggered when the command has finished, so I am sure that there will be no more data from that commit and the email can be composed from the temp data collected and then sent out. So with postcommandsend there is no delay from when the cvs action ends until the mail is sent and it also handles the case when the processing time is very long, it simply waits until postcommadn triggers. IMPORTANT: If postcommand is used then the earlier send method must be disabled. This was done by the first CVSMailer invocation (for a given client command) spawned a CVSMailer process with a send command. THis process immediately goes into a sleep for the time set as the delay, then when it wakes up it collects what data there are and sends the email. Obviously this has the side effect that the delay must be long enaough otherwise some later processing data will be lost in the emails. >Any idea why using PostCommandSend would cause CVSNT to generate a crash >dump? > Not really. When the old method of sending emails was used the early CVSMailer versions did not isolate the child CVSMailer from the parent (CVSNT). But when I found that temp dirs stayed on I investigated it more and after I changed the way the CVSMailer is spawned (change working directory out from the temp dir and create the process without an owner) it seemed to be OK. -- /Bo (Bo Berglund, developer in Sweden)