haiku/headers/os
Augustin Cavalier 4055af5143 BTimedEventQueue: Rewrite from scratch, avoiding malloc().
The previous implementation allocated and freed event objects
on every insertion and removal using malloc()/free(). It was also
licensed under a "distributions in binary form must reproduce ...
in the binary" license, which is more restrictive than the MIT license
that we prefer.

So, this is a rewrite from scratch. It uses the standard
DoublyLinkedList<> rather than rolling its own, and manages
a free list of event queue objects rather than hitting malloc()
all the time. It only frees chunks on destruction, though,
but that hopefully won't be an issue anyway.

All tests from the TimedEventQueueTest still pass, and media playback
still works as before.

Change-Id: Ia940b6176f8051ae4823b75acd305ded8783d1e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8594
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-11-28 17:48:23 +00:00
..
add-ons Refactor touchpad movement generation by migrating MovementMaker to userland. 2022-07-18 16:00:29 +00:00
app headers/os: Make headers generator-friendly 2023-07-11 14:40:02 +00:00
arch kernel/arch/user_debugger: implement for risv64 2021-08-06 15:42:49 +00:00
be_apps be_apps/ServicesDaemon: Remove. 2016-07-29 18:41:30 -04:00
bluetooth L2CAP: Major refactor of the whole component. 2024-05-01 00:25:43 -04:00
device USB: Move usb_iso_packet_descriptor to a separate header. 2021-09-02 16:00:17 +00:00
drivers uvc_webcam: use shared USB_video.h 2024-11-18 16:44:46 +00:00
game More build fixes. 2020-01-25 21:35:34 +01:00
interface PadBlocker: Avoid blocking non-trackpad devices 2024-11-18 16:45:04 +00:00
kernel OS.h: Define B_INFINITE_TIMEOUT in hexadecimal. 2024-08-07 14:49:05 -04:00
locale BCatalog: declare GetString as format_printf function 2024-05-03 16:38:23 +00:00
mail Migrate the BMailComponent docs to the Haiku Book. 2017-12-25 19:43:51 -05:00
media BTimedEventQueue: Rewrite from scratch, avoiding malloc(). 2024-11-28 17:48:23 +00:00
midi Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
midi2
net BNetworkDevice: Remove GetNextNetwork. 2023-03-29 20:15:32 -04:00
package kits/package: allow to set BPackageResolvable to parsed string 2024-03-28 14:37:49 +00:00
storage finddir: Add SYSTEM_DESKBAR_DIRECTORY 2024-04-13 14:03:35 +00:00
support BReferenceable: CountReferences() needs to use atomic_get. 2024-10-11 10:22:37 -04:00
translation Tracker: Add thumbnail support 2021-08-27 11:39:13 +00:00
AppKit.h
Be.h
BeBuild.h Versioning: Add BETA_5 and PRE_BETA_6 version constants. 2024-08-08 10:42:41 -04:00
DeviceKit.h
GameKit.h
InterfaceKit.h headers/os: Add missing Interface Kit includes 2024-01-28 20:36:07 +00:00
KernelKit.h
LocaleKit.h Remove even more Locale Kit cruft. 2017-07-30 14:46:41 -04:00
MailKit.h
MediaKit.h Make BMediaRecorder public 2017-01-10 21:34:20 +01:00
MidiKit.h
NetKit.h
NetworkKit.h headers/NetworkKit: Drop now-private service calls from NetworkKit.h 2022-05-13 16:01:15 +00:00
StorageKit.h
SupportKit.h headers/os: Make headers generator-friendly 2023-07-11 14:40:02 +00:00
TranslationKit.h