Vernon Schryver
Mon Oct 10 22:12:34 UTC 2005

> From: Pavel Urban <>

> is it intentional or broken?
> [root@antivir1 root]# cat /var/run/dcc/
> -7149

It is an intentional change to fix an old, unreported bug in stopping
dccifd.  Before only the dccm PID file contained the process group ID.

The bug is related to these comments in rcDCC

	# stop dccm and dccifd
	for PID in `cat $DCC_RUNDIR/dcc*.pid $DCC_HOMEDIR/dcc*.pid \
		    2>/dev/null`; do
#	    signal the process group because on Linux systems it does not work
#	    to signal the main process.  See `man sigwait` on a Linux system.
	    /bin/kill -15 $PID

and dcclib/restart.c:

#ifdef linux
		/* Linux threads are broken.  Signals given the
		 * original process are delivered to only the
		 * thread that happens to have that PID.  The
		 * sendmail libmilter thread that needs to hear
		 * SIGINT and other signals does not, and that breaks
		 * scripts that need to stop dccm.
		 * However, signaling the process group works. */
		fprintf(f, "-%d\n", (u_int)getpgrp());
		fprintf(f, "%d\n", (u_int)getpid());

Vernon Schryver

More information about the DCC mailing list

Contact by mail or use the form.