haiku/headers/private/kernel
Jérôme Duval 837f4f48db kernel/thread: restore signal mask just before returning to userland
* otherwise the signal to be handled might be blocked. fixes #15193
* also remove automatic syscall restart on _kern_select, to match Linux and
BSDs behavior: this fixes parallel build with newer gnu make, which happens
to use pselect.
* also remove automatic syscall restart on _kern_poll.

from https://man7.org/linux/man-pages/man7/signal.7.html
"The following interfaces are never restarted after being
       interrupted by a signal handler, regardless of the use of
       SA_RESTART; they always fail with the error EINTR when
       interrupted by a signal handler: ...
	select(2), and pselect(2)."
from https://notes.shichao.io/unp/ch6/
"Berkeley-derived kernels never automatically restart select."

Change-Id: I7f86d221eae1ad93d8a308a75581d2c30a369c9e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3627
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-01-15 17:41:33 +00:00
..
arch x86_64: fix build 2021-01-08 13:38:29 +01:00
boot openfirmware: synchronize number of memory range with bios and efi 2020-12-31 02:58:10 +00:00
disk_device_manager partitioning: pass along reference to parent when uninitializing. 2016-12-23 18:53:15 +13:00
fs KPath: Use an object_cache for the path buffers in the normal case. 2019-07-11 22:52:10 -04:00
platform efi/dtb: Find potential FDT on UEFI 2020-12-23 13:51:25 +00:00
posix
slab kernel: Whitespace cleanup only. 2020-06-13 23:24:27 +02:00
util AVLTree: Add convenience LeftMost/RightMost with no arguments. 2020-05-30 01:47:40 +00:00
vm implement mlock(), munlock() 2020-12-03 07:58:05 +00:00
AllocationTracking.h
AreaKeeper.h AreaKeeper.h: move to headers/private/kernel 2020-03-23 16:38:01 +00:00
block_cache.h
boot_device.h
boot_item.h
boot_splash.h
commpage_compat.h kernel: add a compatibility commpage on x86_64. 2018-05-18 05:11:07 +00:00
commpage.h
condition_variable.h kernel: Rework ConditionVariableEntry destruction. 2020-03-07 21:27:05 +00:00
console.h
core_dump.h kernel: Add core dump facility 2016-04-24 18:22:14 +02:00
cpu.h kernel/cpu: add cpu_frequency() 2020-09-15 20:42:14 +00:00
debug_heap.h
debug_hex_dump.h
debug_paranoia.h
debug.h s/Haiku License/MIT License/g. 2019-08-30 18:16:02 -04:00
debugger_keymaps.h Make US-english the default KDL keymap again. 2016-10-10 07:18:12 +02:00
DPC.h
elf_priv.h Revert team and thread changes for COMPAT_MODE (hrev52010 & hrev52011). 2018-06-14 22:25:06 -04:00
elf.h kernel: support elf32 on x86_64. 2018-05-15 10:29:00 +00:00
file_cache.h Clean up various whitespace and fix one header guard. 2015-08-02 23:19:07 +02:00
frame_buffer_console.h
generic_syscall.h
heap.h
int.h
kdevice_manager.h
kdriver_settings.h
kernel_c++_structs.h
kernel_daemon.h
kernel.h
kimage.h runtime loader: Register extended image info with kernel 2016-04-27 02:16:09 +02:00
kmodule.h
kscheduler.h kernel/scheduler: enable cpu load tracking after boot 2020-09-17 15:45:25 +00:00
ksignal.h _user_debug_thread(): Use new signal SIGNAL_DEBUG_THREAD 2016-04-24 11:54:17 +02:00
ksyscalls.h
ksystem_info.h
listeners.h
load_tracking.h kernel: Fix overflow in load tracking for very large deltas. 2018-01-05 22:48:56 +01:00
lock.h Cleanup: Various comment and whitespace fixes. 2020-08-01 19:23:27 +00:00
low_resource_manager.h
messaging.h
MessagingServiceDefs.h
Notifications.h More useless inclusions of khash.h 2015-01-12 18:23:45 +01:00
port.h
real_time_clock.h
safemode.h safemode.h: make it usable from C code. 2014-10-28 23:52:22 +01:00
scheduling_analysis.h Use B_PRId32. 2015-04-01 20:18:00 +02:00
sem.h
smp.h kernel/smp: add call_single_cpu() 2020-09-15 20:42:14 +00:00
syscall_restart.h
system_profiler.h kernel: profile system when SYSTEM_PROFILER is defined. 2015-07-22 20:39:52 +02:00
team.h kernel: Commit missing change to team.h. 2019-07-08 17:58:43 -04:00
thread_types.h kernel/thread: restore signal mask just before returning to userland 2021-01-15 17:41:33 +00:00
thread.h Assorted whitespace cleanup and typo fixes. 2015-08-20 21:54:41 +02:00
timer.h s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
tracing.h
user_atomic.h s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
user_debugger.h syscalls: Add get_stack_trace and lookup_symbol syscalls. 2015-04-10 16:00:49 +02:00
user_mutex.h Reimplement unnamed POSIX semaphores using user_mutex 2015-05-24 14:03:40 +01:00
UserEvent.h kernel: Fix missing reference release in CreateThreadEvent. 2014-11-01 16:32:04 +01:00
usergroup.h
UserTimer.h kernel: Workaround for double lock of spinlock in user timers. 2014-10-29 00:25:37 +01:00
vfs.h POSIX: add posix_fallocate and a preallocate syscall 2020-11-12 10:41:21 +00:00
wait_for_objects.h wait_for_objects: add macros for output-only select types 2018-02-26 10:43:54 +00:00