b39cda8f71
the races in my previous commits here, and fix some other problems with syslogd as well. - if the child process exited early (eg: could not bind to the socket), the boot process would hang for 30 seconds. The parent was not noticing that the child had exited. (my fault) - when writing to tty devices, instead of treating them like files that need \r\n instead of \n, actually use ttymsg() which has specific code intended to write to potentially blocking ttys safely. I had a machine lock up last night because /dev/console on a serial port got flow control blocked. Setting comcontrol drainwait fixed everything but syslogd which was going into a spin trying to write to the console and completely ignoreing everything else. - fix a couple of nonsensical bits of code while here.. eg: wait3 takes a pointer to an int. There is no sense in declaring it as 'union wait', then casting the pointer to (int *), then forgetting about it. |
||
---|---|---|
.. | ||
Makefile | ||
pathnames.h | ||
syslog.conf.5 | ||
syslogd.8 | ||
syslogd.c |