Doug Graham wrote:
"inetd -e" does fix it for me, but LOG_NDELAY does not.
Thinking a bit more about this (I guess vfork is totally weird isn't a
particularly satisfying answer),
and I think it probably goes something like this:
- parent calls vfork
- child running in shared address space calls closelog()
- closelog closes the fd in the child but also sets a global (shared)
variable to -1 to indicate that the
log descriptor is not open
- when parent is resumed after the child execs, it finds the global
set to -1 and thinks the
descriptor is not open. So it opens it again and sets the global to
the new descriptor.
Conclusion: vfork is totally weird :-)
--Doug
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox