Adhemerval Zanella 2ac88eecc5 Refactor Linux raise implementation (BZ#15368)
This patch changes both the nptl and libc Linux raise implementation
to avoid the issues described in BZ#15368.  The strategy used is
summarized in bug report first comment:

 1. Block all signals (including internal NPTL ones);
 2. Get pid and tid directly from syscall (not relying on cached
    values);
 3. Call tgkill;
 4. Restore old signal mask.

Tested on x86_64 and i686.

	[BZ #15368]
	* sysdeps/unix/sysv/linux/nptl-signals.h
	(__nptl_clear_internal_signals): New function.
	(__libc_signal_block_all): Likewise.
	(__libc_signal_block_app): Likewise.
	(__libc_signal_restore_set): Likewise.
	* sysdeps/unix/sysv/linux/pt-raise.c (raise): Use Linux raise.c
	implementation.
	* sysdeps/unix/sysv/linux/raise.c (raise): Reimplement to not use
	the cached pid/tid value in pthread structure.
2016-07-13 17:08:51 +01:00
..
2016-04-27 09:08:29 +02:00
2016-06-16 21:37:45 +05:30
2016-07-01 11:09:38 +02:00
2016-03-22 00:32:20 +00:00
2016-04-11 10:27:25 +02:00
2016-03-15 21:11:07 +00:00
2016-03-21 16:30:05 +00:00
2016-07-08 15:41:21 -03:00
2016-04-14 08:54:57 +02:00