Date: Thu, 31 Jan 2008 11:25:11 -0800 From: Julian Elischer <julian@elischer.org> To: Landon Fuller <landonf@bikemonkey.org> Cc: Daniel Eischen <deischen@freebsd.org>, Gary Stanley <gary@velocity-servers.net>, Robert Watson <rwatson@FreeBSD.org>, freebsd-threads@freebsd.org Subject: Re: threads/119920: fork broken in libpthread Message-ID: <47A22097.2040303@elischer.org> In-Reply-To: <42D09215-18FD-43A1-97E8-D4CC9E97AFDD@bikemonkey.org> References: <200801240850.m0O8o2JQ023500@freefall.freebsd.org> <4798564B.7070500@elischer.org> <Pine.GSO.4.64.0801240957550.16059@sea.ntplx.net> <20080128185830.B56811@fledge.watson.org> <479E3079.3000803@elischer.org> <20080129222455.T53151@fledge.watson.org> <20080131093321.K35034@fledge.watson.org> <47A2170D.6020308@elischer.org> <42D09215-18FD-43A1-97E8-D4CC9E97AFDD@bikemonkey.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Landon Fuller wrote: > > On Jan 31, 2008, at 10:44, Julian Elischer wrote: > >> the releng 6 and releng 7 versions of this patch are at: >> >> http://www.freebsd.org/~julian/kse-6.diff >> >> and >> >> http://www.freebsd.org/~julian/kse-7.diff >> >> >> but the one for 7 is just speculative. >> >> I don't have a 7.x system to test. >> >> >> Landon, what is your test case? >> > > Inlined below. On our 8-core 6.3 system without this patch, the fork() > threads wedge and spin in <2 minutes. With the patch, works as expected. when you say "wedge and spin" what do you see in top? which is it , wedge, or spin? > > #include <sys/types.h> > #include <unistd.h> > #include <pthread.h> > > void *forker (void *arg) { > while (1) { > pid_t pid = fork(); > if (pid == 0) { > exit(0); > } else if (pid > 0) { > int status; > waitpid(pid, &status, 0); > } else { > printf("Fork failed\n"); > abort(); > } > } > } > > int main(void) { > int i = 0; > for (i = 0; i < 4; i++) { > pthread_t thr; > pthread_create(&thr, NULL, forker, NULL); > pthread_detach(thr); > } > > while(1) > sleep(1000); > }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47A22097.2040303>