Change default to be 'process all events before calling daemon.'

Also, put a small work around into devd to prevent a hang on boot this
would cause because select used to return 2 rather than 0 for no
evetnts due to a bug I fixed a few days ago in subr_bus.c.  I'll
remove this workaround May 7th.  You have until then to upgrade your
kernel if you want to run a new devd with an older kernel.
This commit is contained in:
Warner Losh 2003-04-25 02:13:42 +00:00
parent 81cda3d923
commit 812f53a7b5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=114000

View File

@ -72,7 +72,7 @@ static const char detach = '-';
int Dflag;
int dflag;
int nflag = 1;
int nflag;
int romeo_must_die = 0;
static void event_loop(void);
@ -696,7 +696,9 @@ event_loop(void)
FD_SET(fd, &fds);
rv = select(fd + 1, &fds, &fds, &fds, &tv);
// No events -> we've processed all pending events
if (rv == 0) {
// == 2 is a kernel bug, but we hang if we don't
// make allowances for a while.
if (rv == 0 || rv == 2) {
if (Dflag)
fprintf(stderr, "Calling daemon\n");
daemon(0, 0);