Go to file
christos 6555ff0ad3 From my posting of April 3 to tech-kern:
My understanding is that the CLRSIG() is supposed to clear the signal
that was sent to the syncer process to prevent it from being delivered
to the syncer process in case unmounting fails, so that the syncer process
does not die while the filesystem is still mounted. The typical scenario
is, the syncher process is tsleep()ing in the kernel, and waking up when
it needs to do work. If someone sends a signal to it, eg. kill -TERM
the mfs process, then the kernel will try to unmount the mfs filesystem
before delivering the signal to the process. If that unmount fails, then
we should not really kill the process because that will hang the mount.
So we call CLRSIG() to stop the signal from being delivered.

So the first call to issignal() will return the signal number that was
sent to the syncer process (unless someone malicious was able to send
a lower numbered signal between the time tsleep() returned and we called
issignal()... something that is not really easy to do). But you are
right, we should not be calling it many times as a side effect of this
macro.

Rewrite CLRSIG() clear all the signals and call issignal() the correct
number of times.
2006-04-15 01:16:40 +00:00
bin Don't free str; it is used in pat_add. Noted by: Kouichirou Hiratsuka 2006-04-14 16:57:01 +00:00
common prefix local labels with ".L". 2006-04-07 12:07:55 +00:00
crypto Remove references to KerberosIV. 2006-03-23 19:58:03 +00:00
dist stdlib.h and stdio.h should be in crypto.c not common.h 2006-04-13 19:07:08 +00:00
distrib Add header file for new io statistics collection. 2006-04-14 13:21:49 +00:00
doc Make a note of recent LFS improvements. 2006-04-14 19:21:15 +00:00
etc add following encoding support to iconv: 2006-04-08 14:15:48 +00:00
games Grammar nit. Never mind that it's still not true. 2006-04-06 19:47:23 +00:00
gnu fix debug build 2006-04-09 02:52:20 +00:00
include retire HAVE_GCC3/HAVE_GCC4 and introduce HAVE_GCC that is set to 2, 3 or 4. 2006-04-07 19:38:58 +00:00
lib Bump date for previous. 2006-04-13 21:08:33 +00:00
libexec New io statistics 2006-04-14 13:19:03 +00:00
regress replaced by FreeBSD version wcstod(3) for make it work 2006-04-13 01:25:13 +00:00
rescue lmcctl has been replaced by lmcconfig. 2005-12-06 14:02:58 +00:00
sbin Don't update the superblock if we were run with -n, regardless of whether 2006-04-13 19:50:10 +00:00
share Document that the ioctl and mmap accessops now take an extra parameter that 2006-04-12 19:45:17 +00:00
sys From my posting of April 3 to tech-kern: 2006-04-15 01:16:40 +00:00
tools Don't barf if USE_GCC4 is not defined. 2006-04-01 20:21:30 +00:00
usr.bin Update to use new kernel io statistics. 2006-04-14 13:14:06 +00:00
usr.sbin New io statistics collection. 2006-04-14 13:20:48 +00:00
x11 avoid using vgahw and int10 on macppc, sparc and sparc64 since we never use 2006-04-07 17:52:55 +00:00
build.sh Fix the iso-image action. These changes were accidentally omitted 2006-02-03 12:29:41 +00:00
BUILDING mkisofs is in pkgsrc/sysutils/cdrtools now, not pkgsrc/sysutils/cdrecord. 2006-01-29 14:03:59 +00:00
Makefile retire HAVE_GCC3/HAVE_GCC4 and introduce HAVE_GCC that is set to 2, 3 or 4. 2006-04-07 19:38:58 +00:00
Makefile.inc
UPDATING Note new sparc64 bootloader requirement. 2006-01-31 22:54:22 +00:00