Rob Landley wrote: > On Tuesday 21 October 2008 01:47:48 Ming-Ching Tiew wrote: > >> Rob Landley wrote: >> >>> On Monday 20 October 2008 22:25:37 Ming-Ching Tiew wrote: >>> >>>> 5. In the bugged case, the daemonized process did not >>>> actually die, it lingers around ( it's one of the 3 processes ). >>>> Further down in the source, it calls ast_makesocket(). >>>> But in ast_makesocket() it was stuck in pthread_create() >>>> and never return ( this accounts for the additional 2 process >>>> created ). >>>> >>>> Strange thing is that if I don't call daemon() or if I compile >>>> daemon() into asterisk source, then ast_makesocket() >>>> ( and hence pthread_create() ) will not block. >>>> >>> Ok, so this is a case of calling pthread_create() after calling >>> daemon(), except the simple test didn't cause a problem? >>> >> I only found this out today. My simple test case I only tested >> daemon(). So they did not cause a problem. I haven't >> gotten to test calling daemon() and pthread_create() >> in my test cases. >> > > It turns out this isn't a new problem, by the way. Here's an irc > conversation > I was in a year ago that I'd forgotten: > > http://ibot.rikers.org/%23uclibc/20070928.html.gz > > Is there a bug tracker entry on this? It seems like the problem is doing a > fork() without doing an exec, and then calling pthread_create() from the > child process (which is not the thread group leader), and it never returns. > > Rob > >
Yeah this is a 100 % repeatable problem and I have tested it with a simple test program. It happens to uclibc-0.9.29 and uclibc-0.9.30-rc2. _______________________________________________ uClibc mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/uclibc
