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 boot/efi/x86: implement SMP detection and bootup 2022-03-01 17:39:19 +00:00
disk_device_manager
fs KPath: Use an object_cache for the path buffers in the normal case. 2019-07-11 22:52:10 -04:00
platform efi: fix alignment for block device protocol 2022-01-04 17:56:41 +00:00
posix POSIX: introduce sem_clockwait 2022-02-18 21:27:06 +00:00
slab kernel: Whitespace cleanup only. 2020-06-13 23:24:27 +02:00
util kernel/util/atomic: Permit atomic_pointer_get to accept const* pointers. 2022-02-07 14:35:23 -05:00
vm riscv64/smp: Implement multi-processor support 2021-12-12 15:35:24 +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
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 cpu.h: Fix size of array element is not a multiple of its alignment 2021-05-11 15:56:06 +00:00
debug_heap.h
debug_hex_dump.h
debug_paranoia.h
debug.h kernel/debug: Adjust range marker macros. 2021-08-31 22:00:36 -04:00
debugger_keymaps.h
DPC.h
elf_priv.h
elf.h
file_cache.h
frame_buffer_console.h
generic_syscall.h
heap.h kernel: Remove malloc_referenced now that it is unused. 2022-02-09 16:42:06 -05:00
int.h
kdevice_manager.h
kdriver_settings.h
kernel_c++_structs.h
kernel_daemon.h
kernel.h
kimage.h
kmodule.h
kscheduler.h kernel/scheduler: enable cpu load tracking after boot 2020-09-17 15:45:25 +00:00
ksignal.h
ksyscalls.h
ksystem_info.h
listeners.h
load_tracking.h
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 Add missing includes following previous commit. 2021-09-01 13:10:04 -04:00
port.h
real_time_clock.h
safemode.h
scheduling_analysis.h
sem.h
smp.h kernel/smp: Avoid casting spinlocks, which are structures. 2021-11-23 13:52:44 -05:00
stack_protector.h Implement stack protection support 2021-05-03 17:52:31 +00:00
syscall_restart.h kernel: Style fixup. 2021-08-27 19:02:20 -04:00
system_profiler.h
team.h kernel: Commit missing change to team.h. 2019-07-08 17:58:43 -04:00
thread_types.h kernel: Use KernelReferenceable for the supplementary_groups array. 2022-02-09 16:39:43 -05:00
thread.h
timer.h
tracing.h
user_atomic.h
user_debugger.h
user_mutex.h
UserEvent.h
usergroup.h
UserTimer.h
vfs.h POSIX: introduce ppoll 2021-06-19 18:09:25 +00:00
wait_for_objects.h