Messages in this thread | | | Date | Sat, 18 Jan 2003 03:51:02 +0000 | From | Ulrich Drepper <> | Subject | Re: Question about threads and signals |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Jamie Lokier wrote:
> 1. If a signal is delivered to a thread, is it masked for the duration of > the handler in (a) just that thread or (b) all threads?
(a)
> In other words, if I have 3 threads and SIGIO is not blocked in any > of them, is it possible for my SIGIO handler to be called up to 3 > times concurrently? Or is the blocked mask somehow shared?
Masks are never shared.
> Is the same thing true of SIGCHLD? SIGSEGV?
Yes. Up to the point where a fatal signal isn't caught and the process is killed. At that point all threads except the one responsible for the termination is stopped and then terminated.
> 2. Is this true of POSIX threads in general, or just Linux?
Well, the above is what POSIX requires and what I think we've implemented. These requirements are essential for programs which do much of their work in signal handlers. Creating more threads which mainly just sit around but can react to signals is a valid programming model.
- -- - --------------. ,-. 444 Castro Street Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA Red Hat `--' drepper at redhat.com `--------------------------- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+KM8m2ijCOnn/RHQRAlcEAJ0W27Ju6gq4xhT7A0PGr2IJCGfp0ACfa2NY 2mmvlgXLC2Xm8UYnU+rD6cE= =7eDw -----END PGP SIGNATURE-----
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |