haiku/headers/private
Jérôme Duval 9c9a810c41 Media Kit: BBufferCache: if not reclaimed, only mark the buffer for deletion
hrev53379 clears the buffer cache for disconnected clients, and also delete buffers.
This is too early (see #15263, media_addon_server crash), and should only happen
after the buffer is recycled. This can be resolved by abusing the fFlags field of
BBuffer to mark the buffer for deletion, and mark the buffer to be reclaimed.
Some BBuffers don't reside in the SharedBufferList, so we have to mark them as to
be reclaimed. For those in the SharedBufferList, call a new RemoveBuffer(), which
can check whether the buffer is still to be reclaimed. For reclaimed BBuffers,
delete them right away, others can be marked for deletion.
fixes #15606 #15263, possibly #15433

Change-Id: I66e94138e7e10a40d4c48e2ac042f816c79f5aab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2245
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
2020-02-16 08:38:49 +00:00
..
app RosterPrivate: add IsShutDownInProgress() 2019-12-21 20:32:31 +00:00
audio audio: Move hmulti_audio driver API to private audio headers 2018-10-23 16:33:19 +02:00
binary_compatibility BControl: Add icon support 2013-12-22 02:48:25 +01:00
bluetooth bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
debug Move comment to correct function. 2013-05-01 19:52:00 -04:00
debugger Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
device drivers: Deduplify joystick_driver.h. 2018-06-21 18:46:30 -04:00
drivers sdhci and mmc implementation 2019-02-19 18:33:25 +00:00
file_systems fixed btrfs_shell 2019-10-08 18:57:27 +02:00
firewire Minor tweaks to fix the build after the last commit. 2019-03-26 20:06:09 -04:00
fs_shell fixed btrfs_shell 2019-10-08 18:57:27 +02:00
graphics intel_extreme: remove unhandled generation defines 2020-01-27 13:58:52 +01:00
index_server Add a CLucene full-text add-on. 2010-10-28 15:22:52 +00:00
input Live update of Input preferences device list 2020-01-25 11:58:48 +00:00
interface Visually align shortcuts in menus 2020-02-04 23:06:54 +00:00
kernel kernel: x86: add some more cpuid flags. 2020-02-14 14:25:43 +00:00
libroot Remove arch_get_caller 2019-10-19 17:03:05 +00:00
locale Fix instanciate_catalog prototype 2015-01-17 17:02:40 +01:00
mail build: Cleanup of libgnuregex usage. 2018-03-07 18:04:31 -05:00
media Media Kit: BBufferCache: if not reclaimed, only mark the buffer for deletion 2020-02-16 08:38:49 +00:00
midi Midi: Remove some duplicated code 2015-08-27 11:51:57 +02:00
mount * Removed now obsolete notification (this was not even used in Tracker 2009-10-07 19:31:57 +00:00
net network/tun: Style fixes; no functional change 2019-04-17 19:24:19 +00:00
notification Notification_Server: Added ability to choose position of notifications 2017-12-24 12:02:38 +01:00
package kit/package: Error on short file read 2019-08-05 15:07:24 +00:00
preferences Fix glitch in Screen prefs when changing background color. 2017-04-30 10:29:39 +02:00
print PictureIterator.h: fix header guard spelling 2016-07-10 17:11:20 +02:00
runtime_loader libroot: make API version available. 2019-09-13 13:38:08 +00:00
screen_saver ScreenSaver: Rename BuildScreenSaverDefaultSettingsView 2016-04-13 15:50:30 -07:00
shared BGeolocation: add position to country mapping 2019-12-03 08:01:14 +00:00
storage s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
support Add ZstdCompressionAlgorithm. 2017-11-24 21:35:49 +01:00
syslog_daemon syslog_daemon: Converted to BServer. 2015-07-22 20:40:47 +02:00
system ppc: Minor tweaks to get the arch compile again (WIP) 2019-12-04 18:34:31 +00:00
textencoding missing comment tokens 2007-06-20 21:20:11 +00:00
tracker Tracker FindPanel: Make a copy of fDeviceIcon 2016-07-31 19:42:39 -07:00
usb_vision some copyright headers clean up 2010-04-12 21:02:09 +00:00
userlandfs Relicense all of Ingo's BSD/MIT+advertising clause'd code as plain MIT. 2019-08-30 18:27:35 -04:00
virtio virtio: Rework queue_dequeue to return a boolean. 2019-09-02 14:30:29 +00:00
vmdk Moved vmdkimage.h to a shareable place, cleaned it up a bit, and renamed it to 2009-10-01 03:08:46 +00:00