svn commit: r217308 - head/sbin/hastd

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Jan 12 14:38:17 UTC 2011


Author: pjd
Date: Wed Jan 12 14:38:17 2011
New Revision: 217308
URL: http://svn.freebsd.org/changeset/base/217308

Log:
  Add a note that when custom signal handler is installed for a signal,
  signal action is restored to default in child after fork(2).
  In this case there is no need to do anything with dummy SIGCHLD handler,
  because after fork(2) it will be automatically reverted to SIG_IGN.
  
  Obtained from:	Wheel Systems Sp. z o.o. http://www.wheelsystems.com
  MFC after:	3 days

Modified:
  head/sbin/hastd/hooks.c

Modified: head/sbin/hastd/hooks.c
==============================================================================
--- head/sbin/hastd/hooks.c	Wed Jan 12 14:35:29 2011	(r217307)
+++ head/sbin/hastd/hooks.c	Wed Jan 12 14:38:17 2011	(r217308)
@@ -372,6 +372,11 @@ hook_execv(const char *path, va_list ap)
 		descriptors();
 		PJDLOG_VERIFY(sigemptyset(&mask) == 0);
 		PJDLOG_VERIFY(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
+		/*
+		 * Dummy handler set for SIGCHLD in the parent should be
+		 * changed after fork(2) automatically to the default SIG_IGN,
+		 * so there is no need to do anything with it.
+		 */
 		execv(path, args);
 		pjdlog_errno(LOG_ERR, "Unable to execute %s", path);
 		exit(EX_SOFTWARE);


More information about the svn-src-head mailing list