Hello All,
We recently ran into a deadlock in init. The window is small, but I
figured I would post to the list anyway.
There are syslog messages in the signal handler for reboot and shutdown.
Internally this function grabs a lock. If the main loop is trying to grab
this lock at exactly the same time (also posting a syslog message), then a
deadlock is possible.
Here's a small example program that should demonstrate the issue.
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <signal.h>
void handler(int sig)
{
syslog(LOG_INFO, "handler");
}
void main(int argc, char **argv)
{
signal(SIGUSR1, handler);
while (1)
{
syslog(LOG_INFO, "main");
}
}
while [ true ]; do kill -USR1 PID; done
Thanks,
Seth
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox