haiku/headers/private/kernel
Ingo Weinhold e01cebeb0a * cancel_timer():
- If the hook of the timer we're cancelling is currently being
    executed, we do now wait till it is finished. This is how the BeBook
    specifies the function to behave.
  - Periodic timers would not be cancelled, if their hook was being
    invoked at the same time, since they weren't in the queue during
    that time.
  - Since we know the CPU on which the timer is scheduled (timer::cpu),
    we don't have to look through any other CPU queue to find it.
  - Fixed the return value. It should report whether the timer had
    already fired, and was not always doing that.
* Added private add_timer() flag B_TIMER_ACQUIRE_THREAD_LOCK. It causes
  the thread spinlock to be acquired before the event hook is called.
  cancel_timer() doesn't wait for timers with the flag set. Instead we
  check in the timer interrupt function after acquiring the thread
  spinlock whether the timer was cancelled in the meantime. Calling
  cancel_timer() with the thread spinlock being held does thus avoid any
  race conditions and won't deadlock, if the event hook needs to acquire
  the thread spinlock, too. This feature proves handy for some kernel
  internal needs.
* The scheduler uses a B_TIMER_ACQUIRE_THREAD_LOCK timer now and
  cancel_timer() instead of the no longer needed
  _local_timer_cancel_event().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 15:29:22 +00:00
..
arch * Added arch_debug_contains_call() function that returns wether or not 2008-03-26 17:08:51 +00:00
boot Patch by Philippe Saint-Pierre: 2008-04-06 20:10:50 +00:00
disk_device_manager Implement node monitoring in the kernel disk device manager. 2008-04-03 18:14:11 +00:00
fs Added close_fd_index() which is pretty much like close(), but gets the 2008-04-12 08:32:29 +00:00
platform/openfirmware Added some PPC support to the PCI bus manager. We scan the Open Firmware 2006-01-26 15:21:31 +00:00
slab * Temporarily switched to a recursive lock for the depot. 2008-02-02 12:12:54 +00:00
util ReceiveFrom() can now return the message_port_info for the received 2008-04-17 17:58:02 +00:00
block_cache.h First step into a new block allocation strategy for the block_cache 2005-05-13 18:18:28 +00:00
boot_device.h Moved declaration of gBootDevice into its own header. 2005-12-12 16:06:33 +00:00
boot_item.h * Changed get_boot_item() API: it now also can retrieve the size of the boot 2008-03-30 11:01:41 +00:00
boot_splash.h Patch by Philippe Saint-Pierre: 2008-04-05 21:15:43 +00:00
cbuf.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
commpage.h Merged branch haiku/branches/developer/bonefish/optimization revision 2008-01-11 00:36:44 +00:00
condition_variable.h Removed the feature that a thread can wait for more than one condition 2008-04-20 15:19:48 +00:00
console.h Made the header C++ safe. 2005-05-26 09:08:54 +00:00
cpu.h yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized. 2007-02-19 00:11:24 +00:00
debug.h * Added debug_screen_output_enabled() function. 2008-03-20 11:10:17 +00:00
elf32.h * Improved kernel ELF loader (and made it more similar to the one from the boot 2006-03-26 15:58:43 +00:00
elf_priv.h * struct vnode is an opaque type now, removed void* where it was used incorrectly. 2007-10-06 15:33:12 +00:00
elf.h Added support for userland symbol lookup in "sc" and "call". Having 2008-01-19 16:33:03 +00:00
file_cache.h * struct vnode is an opaque type now, removed void* where it was used incorrectly. 2007-10-06 15:33:12 +00:00
frame_buffer_console.h Some work in progress of the MTRR support. Shouldn't do any harm yet :-) 2005-12-13 00:06:52 +00:00
generic_syscall.h As suggested by Ingo, the "subsystem" parameter is now a string. That allows 2004-12-14 17:09:06 +00:00
heap.h Added functions malloc_referenced[_{acquire,release}]() that implement 2008-03-29 23:55:34 +00:00
int.h Changed the way handlers for edge triggered interrupt are called: now, we 2006-04-30 13:56:21 +00:00
kdevice_manager.h added a jam rule AddDriverRegistrationToHaikuImage to add device mappings on the image 2006-11-29 19:09:45 +00:00
kdriver_settings.h Added driver_settings support to the kernel_args structure. 2005-01-10 07:36:08 +00:00
kernel_daemon.h Added the kernel_daemon.h header which defines the init function for the 2003-01-26 17:27:42 +00:00
kernel.h Increased kernel stack size by another page. The network boot is more 2007-07-19 14:03:49 +00:00
kimage.h Added a image_debug_lookup_user_symbol_address() that one day may find symbol names 2005-11-04 17:25:58 +00:00
kmodule.h Added function prototypes for the kernel private load_module() and unload_module() calls. 2005-01-18 02:34:00 +00:00
kscheduler.h Changed the boot procedure a bit. 2005-10-25 16:59:12 +00:00
ksignal.h * Implemented sigwait(). 2008-04-01 12:15:14 +00:00
ksyscalls.h Also include info about the syscall return type in the 2008-02-07 16:03:00 +00:00
lock.h It is a good idea to return a value. :) 2008-02-01 23:24:10 +00:00
messaging.h Added _user_unregister_messaging_service(). Fixed second send_message() proto. 2005-01-24 01:19:03 +00:00
MessagingServiceDefs.h Removed obsolete struct. 2005-01-30 01:11:33 +00:00
Notifications.h bonefish+axeld: 2007-08-01 14:48:44 +00:00
port.h Added experimental public API get_port_message_info_etc(). It is similar 2008-04-17 17:46:02 +00:00
real_time_clock.h Applied patch by Julun: time computations based on an algorithm by Fliegel, 2007-10-14 17:27:44 +00:00
real_time_data.h The real_time_data structure contains an architecture specific 2006-01-04 02:17:59 +00:00
safemode.h * Added a get_safemode_boolean() function for easy access to the safemode 2008-03-08 23:12:46 +00:00
sem.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
smp.h this seems to solve the 'lock up on bootup on core 2' problem. 2007-03-01 08:09:28 +00:00
syscall_process_info.h Added syscalls for various process/group/session related functions. 2004-10-14 14:31:31 +00:00
syscall_restart.h * Removed SyscallRestartWrapper comparison operators. They are not 2008-04-12 17:18:31 +00:00
syscalls.h Added experimental public API get_port_message_info_etc(). It is similar 2008-04-17 17:46:02 +00:00
system_info.h Added Haiku revision number to the kernel (same mechanism as used for 2007-05-19 15:36:32 +00:00
team.h Process groups are now reference-counted. Processes in a group as well 2008-03-09 17:56:27 +00:00
thread_types.h We use only a single condition variable (instead of thread different 2008-04-20 15:15:58 +00:00
thread.h Added a boolean "force" parameter to thread_yield(). When true, the 2008-02-07 11:40:31 +00:00
timer.h * cancel_timer(): 2008-04-22 15:29:22 +00:00
tls.h Added another argument parameter for the thread creation code. Helps 2003-04-18 09:21:22 +00:00
tracing.h Made dump_tracing() (the "traced" command function) available in the 2008-04-22 14:52:48 +00:00
user_atomic.h renamed atomic_read() into atomic_get() (since we already have atomic_set(), but not a atomic_write()) 2003-08-31 01:21:56 +00:00
user_debugger.h Merged branch haiku/branches/developer/bonefish/optimization revision 2008-01-11 00:36:44 +00:00
user_runtime.h * The runtime_loader's test_executable() no longer analyzes the 2008-03-20 01:45:00 +00:00
usergroup.h * Implemented some basics for supplementary groups support: 2008-03-30 00:08:13 +00:00
vfs.h * Changed the way the socket functions work: 2008-04-11 04:12:23 +00:00
vm_address_space.h * vm.h no longer includes vm_types.h - only those that actually need access 2007-09-27 12:21:33 +00:00
vm_cache.h * vm.h no longer includes vm_types.h - only those that actually need access 2007-09-27 12:21:33 +00:00
vm_low_memory.h * register_low_memory_handler() was called too early by several kernel 2007-09-29 15:46:40 +00:00
vm_page.h Applied patch by Rene Gollent: 2008-03-25 11:51:45 +00:00
vm_priv.h * Reworked stealing pages: the page thief thread is gone now, 2007-10-11 08:01:18 +00:00
vm_translation_map.h * Mapping a page might actually need memory - since we usually have locks that 2007-10-06 11:18:21 +00:00
vm_types.h * Fixed (or rather, worked around) a deadlock in the VM: when a file was 2008-01-09 22:25:21 +00:00
vm.h * Added <sys/mman.h> header. It declares only mmap() and munmap() yet 2008-04-13 22:52:11 +00:00
wait_for_objects.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00