Searched +hist:1 +hist:c016e0e (Results 1 - 1 of 1) sorted by relevance
/haiku/headers/os/kernel/ | ||
H A D | OS.h | diff f66d2b46 Wed Jul 26 14:51:38 MDT 2023 Augustin Cavalier <waddlesplash@gmail.com> kernel: Add event queue implementation to wait for objects efficiently. Based on hamishm's original patch from 2015, but heavily modified, refactored, and reworked. From the original commit message: > When an object is deleted, a B_EVENT_INVALID event is delivered, > and the object is unregistered from the queue. > > The special event flag B_EVENT_ONE_SHOT can be passed in when adding > an object so that the object is automatically unregistered when an > event is delivered. Modifications to the original change include: * Removed the public interface (syscalls remain private for the moment) * Event list queueing/dequeueing almost entirely rewritten, including: - Clear events field when dequeueing. - Have B_EVENT_QUEUED actually indicate whether the event has been appended to the linked list (or not), based around lock state. The previous logic was prone to races and double-insertions. - "Modify" is now just "Deselect + Select" performed at once; previously it could cause use-after-frees. - Unlock for deselect only once at the end of dequeue. - Handle INVALID events still in the queue upon destruction, fixing memory leaks. * Deduplified code with wait_for_objects. * Use of C++ virtual dispatch instead of C-style enum + function calls, and BReferenceable plus destructors for teardown. * Removed select/modify/delete flags. Select/Modify are now the same operation on the syscall interface, and "Delete" is done when 0 is passed for "events". Additionally, the events selected can be fetched by passing -1 for "events". * Implemented level-triggered mode. * Use of BStackOrHeapArray and other convenience routines in syscalls. Change-Id: I1d2f094fd981c95215a59adbc087523c7bbbe40b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6745 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> diff 9a50e01e Wed Nov 15 10:28:04 MST 2017 Augustin Cavalier <waddlesplash@gmail.com> set_real_time_clock: Change parameter from uint32 to uint64. This should have been done along with the time_t change, but I forgot to check this then. Technically this breaks ABI against BeOS, but: 1. BeOS used an int32, so we'd already slightly broken ABI here 2. Only one thing at HaikuArchives (VMwareAddons) and one recipe at HaikuPorts (samba) uses this function at all. If it turns out some critical BeOS app uses this, then I guess we can enclose GCC2 guards around it, but since I can't find any evidence of that, I'm pushing it without them for now. diff 1bc7045f Sun Dec 15 19:58:43 MST 2013 Pawel Dziepak <pdziepak@quarnos.org> kernel, libroot: Introduce new API for obtaining system info diff 1c2d7d3a Thu Jun 16 11:58:24 MDT 2011 Ingo Weinhold <ingo_weinhold@gmx.de> Fixed x86_64 handling by the build system. * Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are * x86 and 64 bit and define the __x86_64__ C macro instead of __INTEL__ in that case. * <OS.h>: Also handle __x86_64__. diff 2c1e463c Wed Nov 05 11:11:58 MST 2008 Axel Dörfler <axeld@pinc-software.de> * Removed B_{MIN|MAX}_PRIORITY from OS.h - they were never really intended as public defines. They are now called THREAD_{MIN|MAX}_SET_PRIORITY to better reflect what they are for. Minimum priority is now 1, ie. you no longer can set another thread to the idle priority. This fixes part of ticket #2959. * set_thread_priority() will no longer allow to change the priority of the idle thread to something else. This fixes the rest of ticket #2959. * Automatic whitespace cleanup in OS.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28521 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b4092833 Sat Jun 21 15:48:18 MDT 2008 François Revol <revol@free.fr> Set max cpu count to 1 for ARM. Anyone knows a real SMP platform using it ? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26069 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 1e8adb7d Thu Aug 24 04:33:50 MDT 2006 Jérôme Duval <korli@users.berlios.de> added core and core 2 ids git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18603 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b2c5594f Mon May 29 18:18:50 MDT 2006 Axel Dörfler <axeld@pinc-software.de> B_SYSTEM_TEAM is now 1 under Haiku which refers to the real kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17645 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 9235adf7 Sun Oct 30 11:26:41 MST 2005 Axel Dörfler <axeld@pinc-software.de> The cpuid "extended features" in function 1/%ecx aren't Intel only anymore - my AMD docs were not up to date. Thanks to Herve for the note. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14578 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 1c016e0e Wed Oct 26 16:46:30 MDT 2005 Axel Dörfler <axeld@pinc-software.de> Cleaned up OS.h a bit more. Return type of thread_func is now status_t instead of the previous int32. Added some more cpuid_info fields - many fields aren't just reserved anymore. "sysinfo" now supports the extended features of Intel CPUs, and also knows the "HTT" bit of the standard features indicating the hyper-threading capability. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14533 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 1c016e0e Wed Oct 26 16:46:30 MDT 2005 Axel Dörfler <axeld@pinc-software.de> Cleaned up OS.h a bit more. Return type of thread_func is now status_t instead of the previous int32. Added some more cpuid_info fields - many fields aren't just reserved anymore. "sysinfo" now supports the extended features of Intel CPUs, and also knows the "HTT" bit of the standard features indicating the hyper-threading capability. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14533 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
Completed in 63 milliseconds