haiku/headers/private/kernel
Augustin Cavalier bb09a3ed07 kernel/condition_variable: Remove a confusing requirement for published variables.
Part of the point of published variables is to make them "shareable",
and not require external synchronization. Requiring the callers
to ensure unpublishing does not occur is thus unreasonable, as e.g.
a variable could be unpublished immediately after being notified.

That is the case for some usages of these variables in the FreeBSD
compatibility layer, which under heavy usage, can and did trigger
use-after-unpublishes and then KDLs, at least in local testing.

Instead, only unlock the hash after we have locked the variable.
This is already done in some other functions, so it's safe to do
it here, too. This way, the variable won't be unpublished
while Notify() is running.
2022-03-09 18:55:55 -05:00
..
arch kernel/x86: add ability to set GS segment base from userland 2022-03-09 18:28:00 +00:00
boot
disk_device_manager
fs
platform
posix
slab
util
vm
AllocationTracking.h
AreaKeeper.h
block_cache.h
boot_device.h
boot_item.h
boot_splash.h
commpage_compat.h
commpage.h
condition_variable.h kernel/condition_variable: Remove a confusing requirement for published variables. 2022-03-09 18:55:55 -05:00
console.h
core_dump.h
cpu.h
debug_heap.h
debug_hex_dump.h
debug_paranoia.h
debug.h
debugger_keymaps.h
DPC.h
elf_priv.h
elf.h
file_cache.h
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
kmodule.h
kscheduler.h
ksignal.h
ksyscalls.h
ksystem_info.h
listeners.h
load_tracking.h
lock.h
low_resource_manager.h
messaging.h
MessagingServiceDefs.h
Notifications.h
port.h
real_time_clock.h
safemode.h
scheduling_analysis.h
sem.h
smp.h
stack_protector.h
syscall_restart.h
system_profiler.h
team.h
thread_types.h
thread.h
timer.h
tracing.h
user_atomic.h
user_debugger.h
user_mutex.h
UserEvent.h
usergroup.h
UserTimer.h
vfs.h
wait_for_objects.h