Date: Wed, 19 Jun 2002 22:54:49 +1100 (edt) From: Andrew MacIntyre <andymac@bullseye.apana.org.au> To: <freebsd-hackers@freebsd.org> Subject: signals in apps built with -pthread Message-ID: <Pine.OS2.4.32.0206192244550.74-200000@tenring.andymac.org>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --1715413041-547168944-1022835651=:17749 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <Pine.OS2.4.32.0206022312272.1659@tenring.andymac.org> [originally posted to -questions on June 2, with no response. If this doesn't belong on this list, please say so.] This question is in the context of a scripting language interpreter (Python) which is built with threads (gcc -pthread), but which is used to run scripts which don't activate any threads. In such instances, signal handling differs from an interpreter built without threads. The attached C code is a simple example of a signal handling situation which works in the non-threaded interpreter, but fails in a threaded interpreter. When compiled without -pthread (ie gcc -o sigp sigp.c), the attached code behaves as expected like so: $ ./sigp 1, run 2 $ When compiled with -pthread (ie gcc -pthread -o sigp sigp.c): $ ./sigp and then it hangs. Sending it a SIGHUP from another terminal has no effect, but other likely signals (eg SIGINT) kill it. There appears to have been a thread on a closely related topic, found at (long URL): http://groups.google.com/groups?hl=en&lr=&threadm=fa.n97llov.1lict2d%40ifi.uio.no However, no information from that thread has illuminated the situation at hand. Having two interpreter executables (with and without threads) is unpalatable. Is there any way that the thread enabled interpreter can be setup to handle signals in the same way, in the absence of activated threads, as it would without thread support? (without disturbing the signal handling when threads _are_ activated, of course...) Thanks for any advice, Andrew. -- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: andymac@bullseye.apana.org.au | Snail: PO Box 370 andymac@pcug.org.au | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia --1715413041-547168944-1022835651=:17749 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="sigp.c" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0205311000510.17749@starship.python.net> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="sigp.c" I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHNpZ25hbC5oPg0KI2lu Y2x1ZGUgPHN0ZGlvLmg+DQoNCnZvbGF0aWxlIGludCBydW4gPSAwOw0KDQoj ZGVmaW5lIFJVTihpKSBpZiAocnVuKSBwcmludGYoInJ1biAlZFxuIixpKQ0K DQp2b2lkDQpkb19ub3RoaW5nKGludCBzaWdudW0pDQp7DQoJcnVuID0gMTsN CglyZXR1cm47DQp9DQoNCnZvaWQNCnByaW50X3NpZ3NldChjb25zdCBzaWdz ZXRfdCogc2V0KQ0Kew0KCWludCBzaWc7DQoNCglmb3IgKHNpZyA9IDE7IHNp ZyA8IE5TSUc7IHNpZysrKSB7DQoJCWlmIChzaWdpc21lbWJlcihzZXQsIHNp ZykpIHsNCgkJCXByaW50ZigiJWQsICIsIHNpZyk7DQoJCX0NCgl9DQoJcHJp bnRmKCJcbiIpOw0KfQ0KDQppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFy Z3YpDQp7DQoJc2lnc2V0X3Qgc2V0Ow0KCXN0cnVjdCBzaWdhY3Rpb24gYWN0 aW9uOw0KDQoJYWN0aW9uLnNhX2hhbmRsZXIgPSBkb19ub3RoaW5nOw0KCXNp Z2VtcHR5c2V0KCZhY3Rpb24uc2FfbWFzayk7DQoJYWN0aW9uLnNhX2ZsYWdz ID0gMDsNCg0KCXNpZ2VtcHR5c2V0KCZzZXQpOw0KDQoJc2lnYWRkc2V0KCZz ZXQsIFNJR0hVUCk7DQoNCglzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzZXQs IE5VTEwpOw0KDQoJc2lnYWN0aW9uKFNJR0hVUCwgJmFjdGlvbiwgTlVMTCk7 DQoNCglraWxsKGdldHBpZCgpLCBTSUdIVVApOw0KDQoJUlVOKDApOw0KCQ0K CXNpZ3BlbmRpbmcoJnNldCk7DQoNCglwcmludF9zaWdzZXQoJnNldCk7DQoN CglzaWdlbXB0eXNldCgmc2V0KTsNCg0KCVJVTigxKTsNCg0KCXNpZ3N1c3Bl bmQoJnNldCk7DQoNCglSVU4oMik7DQoNCglyZXR1cm4gMDsNCn0NCg== --1715413041-547168944-1022835651=:17749-- 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?Pine.OS2.4.32.0206192244550.74-200000>