Date: Thu, 21 Jun 2001 13:10:42 -0400 From: "Louis-Philippe Gagnon" <louisphilippe@macadamian.com> To: "Alfred Perlstein" <bright@sneakerz.org> Cc: <freebsd-hackers@FreeBSD.ORG> Subject: Re: pthread/longjmp/signal problem Message-ID: <0e5801c0fa75$1a6ccef0$2964a8c0@macadamian.com> References: <0db001c0fa62$2b567800$2964a8c0@macadamian.com> <20010621115423.U4543@sneakerz.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[snip] > > ERRORS > If the contents of the env are corrupted, or correspond to an environment > that has already returned, the longjmp() routine calls the routine I interpreted that as referring to the case when we longjmp after the _function_ that called setjmp has returned, but yes, "resetjmping" is probably safer. > longjmperror(3). If longjmperror() returns the program is aborted (see > abort(3)). The default version of longjmperror() prints the message > ``longjmp botch'' to standard error and returns. User programs wishing > to exit more gracefully should write their own versions of > longjmperror(). > > > So the questions are : > > -Am I doing something obviously wrong? > > I think so, I think you must reinit the 'env' like so: > > reset: > if(sigsetjmp(env,1)) { > fprintf(stderr,"longjmp successful\n"); > goto reset; > } > Yes, I forgot to mention that in the things I tried. (since I never even get to the second longjmp() call, I dismissed that as a factor pretty early on) > > > > -Is this a bug? > > I think so, even with reinitializing the env structure it still hangs > for me as well: > [snip] > > > -Is this a known bug with a known workaround? > > Not that I know of, I'll take a peek at the threading libraries, but > I'm not promising anything. > Thanks! "anything" is probably more than I could find on my own... if it's a bug, it seems like a big one... I found it hard to believe that no one would have hit it yet (as I mentionned, I get the problem in both 4.2 and 4.3...) LPG To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0e5801c0fa75$1a6ccef0$2964a8c0>