Searched +hist:1 +hist:a7bcf69 (Results 1 - 23 of 23) sorted by relevance

/haiku/src/apps/patchbay/
H A DPatchView.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/add-ons/kernel/partitioning_systems/session/
H A DDebug.hdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
H A DDisc.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff d9c69ef1 Sun Oct 23 17:24:10 MDT 2005 Michael Lotz <mmlr@mlotz.ch> Corrected the format constant (its 0010b) and set the msf bit to 1. MMC Specs say it shall not have an effect on the result, but it also states that the time bit shall be set to 1.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14483 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff d9c69ef1 Sun Oct 23 17:24:10 MDT 2005 Michael Lotz <mmlr@mlotz.ch> Corrected the format constant (its 0010b) and set the msf bit to 1. MMC Specs say it shall not have an effect on the result, but it also states that the time bit shall be set to 1.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14483 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff d9c69ef133dc7d4f942aa4ab6188245d1ab0e0e3 Sun Oct 23 17:24:10 MDT 2005 Michael Lotz <mmlr@mlotz.ch> Corrected the format constant (its 0010b) and set the msf bit to 1. MMC Specs say it shall not have an effect on the result, but it also states that the time bit shall be set to 1.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14483 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff d9c69ef133dc7d4f942aa4ab6188245d1ab0e0e3 Sun Oct 23 17:24:10 MDT 2005 Michael Lotz <mmlr@mlotz.ch> Corrected the format constant (its 0010b) and set the msf bit to 1. MMC Specs say it shall not have an effect on the result, but it also states that the time bit shall be set to 1.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14483 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A Dsession.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1cc5e469 Wed Jul 08 14:26:43 MDT 2009 Ingo Weinhold <ingo_weinhold@gmx.de> Added offset and size parameters to create_child_partition() and
KPartition::CreateChild(). CreateChild() calls AddChild(), which publishes
the new partition, though at that point offset and size were not set, so that
the published devices would not be usable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31463 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1da9f5ce Sat May 10 05:44:00 MDT 2008 Axel Dörfler <axeld@pinc-software.de> * Added BDiskSystem::ShortName() and everything needed to get it there.
* Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system
by short/pretty/module name - since they should all be unique, I put them
in a single namespace, please complain if you don't like that :-)
* Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated
header guidelines.
* Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1cc5e46925a7e64708d7565fe2c1ac3f448c9d58 Wed Jul 08 14:26:43 MDT 2009 Ingo Weinhold <ingo_weinhold@gmx.de> Added offset and size parameters to create_child_partition() and
KPartition::CreateChild(). CreateChild() calls AddChild(), which publishes
the new partition, though at that point offset and size were not set, so that
the published devices would not be usable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31463 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1da9f5cea5ea4d32c539a01cd94a7b605e941beb Sat May 10 05:44:00 MDT 2008 Axel Dörfler <axeld@pinc-software.de> * Added BDiskSystem::ShortName() and everything needed to get it there.
* Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system
by short/pretty/module name - since they should all be unique, I put them
in a single namespace, please complain if you don't like that :-)
* Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated
header guidelines.
* Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/apps/cortex/NodeManager/
H A DNodeGroup.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
H A DNodeManager.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1bd15897 Thu Dec 22 19:08:02 MST 2011 Urias McCullough <umccullough@gmail.com> Fix various issues in cortex debug code

Signed-off-by: Matt Madia <mattmadia@gmail.com>
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1bd15897ba74faf2be88310a4e68d2a64cf32734 Thu Dec 22 19:08:02 MST 2011 Urias McCullough <umccullough@gmail.com> Fix various issues in cortex debug code

Signed-off-by: Matt Madia <mattmadia@gmail.com>
H A DNodeRef.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1bd15897 Thu Dec 22 19:08:02 MST 2011 Urias McCullough <umccullough@gmail.com> Fix various issues in cortex debug code

Signed-off-by: Matt Madia <mattmadia@gmail.com>
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1bd15897ba74faf2be88310a4e68d2a64cf32734 Thu Dec 22 19:08:02 MST 2011 Urias McCullough <umccullough@gmail.com> Fix various issues in cortex debug code

Signed-off-by: Matt Madia <mattmadia@gmail.com>
/haiku/src/add-ons/media/media-add-ons/tone_producer_demo/
H A DToneProducer.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/apps/poorman/
H A DPoorManPreferencesWindow.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/add-ons/kernel/drivers/midi/usb_midi/
H A Dusb_midi.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/apps/cortex/MediaRoutingView/
H A DMediaRoutingView.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/apps/cortex/addons/Flanger/
H A DFlangerNode.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/apps/cortex/addons/common/
H A DAudioFilterNode.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/servers/registrar/
H A DMessageRunnerManager.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
H A DRecentEntries.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
H A DShutdownProcess.cppdiff 1a8c00c1 Wed Dec 09 23:53:27 MST 2015 looncraz <looncraz@looncraz.net> servers: Convert to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0020-0022 from looncraz, unmodified.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1c38b061 Wed May 13 02:58:32 MDT 2009 Axel Dörfler <axeld@pinc-software.de> * Style cleanup, added missing copyrights.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30743 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1b910a79 Wed Oct 01 10:45:59 MDT 2008 Axel Dörfler <axeld@pinc-software.de> * Since the "restart"/"shutdown" alert has the inconvenient consequence that the
shutdown process is entered (ie. you cannot start new applications anymore),
I changed its window feel to normal to make it possible to let it appear on
all workspaces.
* We should think about if simply letting it enter that phase later isn't the
better solution, though. Opinions welcome.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27830 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1ad1713a Sun Jun 03 02:18:34 MDT 2007 Stephan Aßmus <superstippi@gmx.de> * applied patch by Jonas Sundström,
makes the Escape key cancel the restart/shutdown dialog


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21303 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff d619e899 Mon Apr 16 23:39:33 MDT 2007 Ingo Weinhold <ingo_weinhold@gmx.de> Fixed incorrect use of the sort() function. It expects a "less than"
compare function with bool return value, not a -1/0/1 returning
compare function. Fixes bug #1158 (registrar crash on shutdown).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20733 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff d619e899 Mon Apr 16 23:39:33 MDT 2007 Ingo Weinhold <ingo_weinhold@gmx.de> Fixed incorrect use of the sort() function. It expects a "less than"
compare function with bool return value, not a -1/0/1 returning
compare function. Fixes bug #1158 (registrar crash on shutdown).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20733 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1b4a4f54 Mon Jun 05 04:21:02 MDT 2006 Jérôme Duval <korli@users.berlios.de> changes the background color of CurrentAppIconView


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17726 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DTRoster.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 6bfd06d1 Thu Aug 31 11:54:16 MDT 2006 Ingo Weinhold <ingo_weinhold@gmx.de> BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6bfd06d1 Thu Aug 31 11:54:16 MDT 2006 Ingo Weinhold <ingo_weinhold@gmx.de> BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6bfd06d1 Thu Aug 31 11:54:16 MDT 2006 Ingo Weinhold <ingo_weinhold@gmx.de> BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1bde02ae Fri Nov 08 01:36:08 MST 2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake> Fleshed out any missing pieces of BRoster::
- ClearRecent{Docs,Folders,Apps}
- AddToRecentApps()
- {Load,Save}RecentLists()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1d32138d Fri Jul 26 14:04:52 MDT 2002 Ingo Weinhold <ingo_weinhold@gmx.de> Implemented processing of the app registration requests and Get{Running,Active}AppInfo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@465 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/servers/midi/
H A DMidiServerApp.cppdiff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 53284a9f Tue Dec 31 07:34:17 MST 2002 mahlzeit <mahlzeit@nowhere.fake> Checkin of the source code for midi2 kit milestone 1.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2337 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 53284a9fdba431c73476c6354a9cc999f7a12e9f Tue Dec 31 07:34:17 MST 2002 mahlzeit <mahlzeit@nowhere.fake> Checkin of the source code for midi2 kit milestone 1.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2337 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/translators/ppm/
H A DPPMTranslator.cppdiff 71aec297 Sat Jan 26 12:33:01 MST 2019 Adrien Destugues <pulkomandy@pulkomandy.tk> PPM translator: use a buffer for reading

Reading the file 1 byte at a time from a BFile is very inefficient.
Add a buffer, which makes things a lot faster (parsing a 200x200 image
used to run for a few seconds with 100% CPU use).

Change-Id: Ie2eea819475c9301fbb6102c41fa05ec2d2ca343
Reviewed-on: https://review.haiku-os.org/c/906
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 58913f60 Sat Jan 26 12:18:27 MST 2019 Adrien Destugues <pulkomandy@pulkomandy.tk> PPM translator: read 1-bit and greyscale files

Change-Id: I0d9de6cb6eca99a78aada00c5299c16668c414f8
Reviewed-on: https://review.haiku-os.org/c/905
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/add-ons/kernel/file_systems/packagefs/
H A Dkernel_interface.cppdiff 6a0798da Wed Nov 29 15:12:01 MST 2023 John Scipione <jscipione@gmail.com> Tracker: Show "-" for packagefs volume size

... instead of "4096 bytes" (i.e. 1 block).

Set total_blocks to 0 in packagefs_read_fs_info to indicate
that the capacity is 0, this avoids some potential issues
that using 1 or -1 might cause.

In WidgetAttributeText look for volumes with 0 blocks and
set fValueIsDefined to false which displays a "-".

Also replace capacity string with "-" in Get info.

Fixes #10291 the quick and dirty solution to #18567.

Change-Id: I7ff204c9ffd10cf9cc6343fcdd4422c034004004
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7164
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
diff 6a0798da Wed Nov 29 15:12:01 MST 2023 John Scipione <jscipione@gmail.com> Tracker: Show "-" for packagefs volume size

... instead of "4096 bytes" (i.e. 1 block).

Set total_blocks to 0 in packagefs_read_fs_info to indicate
that the capacity is 0, this avoids some potential issues
that using 1 or -1 might cause.

In WidgetAttributeText look for volumes with 0 blocks and
set fValueIsDefined to false which displays a "-".

Also replace capacity string with "-" in Get info.

Fixes #10291 the quick and dirty solution to #18567.

Change-Id: I7ff204c9ffd10cf9cc6343fcdd4422c034004004
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7164
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
diff 6a0798da Wed Nov 29 15:12:01 MST 2023 John Scipione <jscipione@gmail.com> Tracker: Show "-" for packagefs volume size

... instead of "4096 bytes" (i.e. 1 block).

Set total_blocks to 0 in packagefs_read_fs_info to indicate
that the capacity is 0, this avoids some potential issues
that using 1 or -1 might cause.

In WidgetAttributeText look for volumes with 0 blocks and
set fValueIsDefined to false which displays a "-".

Also replace capacity string with "-" in Get info.

Fixes #10291 the quick and dirty solution to #18567.

Change-Id: I7ff204c9ffd10cf9cc6343fcdd4422c034004004
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7164
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1fb71f87 Tue Jul 05 14:59:48 MDT 2011 Ingo Weinhold <ingo_weinhold@gmx.de> Implement query FS hooks, add empty index FS hooks
diff 1f70af09 Thu Jan 13 08:20:55 MST 2011 Oliver Tappe <zooey@hirschkaefer.de> * round up the value put into st_blocks
* inject modification time of package folder into root folder of
package-fs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40230 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/add-ons/media/media-add-ons/multi_audio/
H A DMultiAudioNode.cppdiff 8d35d957 Mon Feb 26 15:05:26 MST 2024 Augustin Cavalier <waddlesplash@gmail.com> MultiAudioNode: Actually take input_channel_count into account.

USB audio input now works properly (as it has only 1 channel,
not 2.)
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff e75df357 Tue Oct 14 10:25:28 MDT 2003 Jérôme Duval <korli@users.berlios.de> internal latency = 1 buffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5033 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf6962e1c99906cce0fe602e08c3fcda46f6 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff e75df357b9840becdbdc363eda77b33edd81765e Tue Oct 14 10:25:28 MDT 2003 Jérôme Duval <korli@users.berlios.de> internal latency = 1 buffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5033 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/system/kernel/fs/
H A Dfd.cppdiff 34fcf3d9 Thu Mar 21 14:47:10 MDT 2024 Augustin Cavalier <waddlesplash@gmail.com> kernel/fs: Refactor file_descriptor seek-disabled behavior.

* Default "pos" to "-1" instead of 0 and check for this value
instead of ops->fd_seek directly in IO operations.

* Set "pos" to "0" only for seekable vnodes.

* Return ESPIPE in read() and write() if the specified pos is not
-1, but the descriptor->pos is.

Fixes the VFS part of #18836.

Change-Id: Ib4da1652b06798588abedc98963aeb63511d3e41
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7544
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 34fcf3d9 Thu Mar 21 14:47:10 MDT 2024 Augustin Cavalier <waddlesplash@gmail.com> kernel/fs: Refactor file_descriptor seek-disabled behavior.

* Default "pos" to "-1" instead of 0 and check for this value
instead of ops->fd_seek directly in IO operations.

* Set "pos" to "0" only for seekable vnodes.

* Return ESPIPE in read() and write() if the specified pos is not
-1, but the descriptor->pos is.

Fixes the VFS part of #18836.

Change-Id: Ib4da1652b06798588abedc98963aeb63511d3e41
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7544
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 1bde6f6c Mon Jan 08 12:13:39 MST 2024 Augustin Cavalier <waddlesplash@gmail.com> kernel/fs: Standardize AutoDeleters for file_descriptor on FileDescriptorPutter.

No functional change intended.
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 64d1636f Wed Dec 12 16:42:03 MST 2018 Augustin Cavalier <waddlesplash@gmail.com> kernel: Rework the FD disconnect feature (again).

axeld's solution from 2015 worked in that it solved the panics and
problems with leaking FDs ... but only if nobody actually tried to
use the FDs again. As you can see in the diff of the previous commit,
in allowing closed FDs (which have NULL "ops") to be returned by get_fd,
all consumers of the get_fd API (so, pretty much most functions in
vfs.cpp and fd.cpp) have to check *both* that (1) the fd is not NULL,
and (2) the fd does not have O_DISCONNECT set.

Besides missing a large majority of consumers of get_fd (which caused
ticket #14532 and also the first half of ticket #14756, probably among
others, as I haven't reviewed all NULL-dereference-in-VFS tickets yet)
this solution missed the fact that calling get_fd increments the reference
count, but then exiting the exact same way as if the FD was NULL
(without putting it) when it is disconnected *also* leaks the FD.

As it turns out, a not insignificant number of applications try
to do this, which (depending on whether you went through one of the
'lucky' functions axeld's commit touched) either (1) leaked the FD,
or (2) caused a kernel panic.

Now, we could go through and add O_DISCONNECT checks to every single
consumer of get_fd followed by put_fd to get the proper behavior ...
but that would be the same thing as just returning NULL here and not
incrementing the reference count.

So it seems the first part of axeld's solution (don't set open_count
or ref_count to -1 but leave them as-is) is the only change necessary.

A few places where there were legitimately missing O_DISCONNECT checks
(some originally added by axeld) are (re-)added in the next commit.
Otherwise this seems to be the more robust solution. (But I wonder why
nobody caught this in the code review axeld asked for in the commit
and the ticket back in 2015? Did nobody notice the unbalanced get/put?)

Fixes #14532, part of #14756, and probably any other NULL dereferences
in VFS I/O functions (XHCI is especially good at exposing these)
that are lingering around on the bugtracker.
diff 64d1636f Wed Dec 12 16:42:03 MST 2018 Augustin Cavalier <waddlesplash@gmail.com> kernel: Rework the FD disconnect feature (again).

axeld's solution from 2015 worked in that it solved the panics and
problems with leaking FDs ... but only if nobody actually tried to
use the FDs again. As you can see in the diff of the previous commit,
in allowing closed FDs (which have NULL "ops") to be returned by get_fd,
all consumers of the get_fd API (so, pretty much most functions in
vfs.cpp and fd.cpp) have to check *both* that (1) the fd is not NULL,
and (2) the fd does not have O_DISCONNECT set.

Besides missing a large majority of consumers of get_fd (which caused
ticket #14532 and also the first half of ticket #14756, probably among
others, as I haven't reviewed all NULL-dereference-in-VFS tickets yet)
this solution missed the fact that calling get_fd increments the reference
count, but then exiting the exact same way as if the FD was NULL
(without putting it) when it is disconnected *also* leaks the FD.

As it turns out, a not insignificant number of applications try
to do this, which (depending on whether you went through one of the
'lucky' functions axeld's commit touched) either (1) leaked the FD,
or (2) caused a kernel panic.

Now, we could go through and add O_DISCONNECT checks to every single
consumer of get_fd followed by put_fd to get the proper behavior ...
but that would be the same thing as just returning NULL here and not
incrementing the reference count.

So it seems the first part of axeld's solution (don't set open_count
or ref_count to -1 but leave them as-is) is the only change necessary.

A few places where there were legitimately missing O_DISCONNECT checks
(some originally added by axeld) are (re-)added in the next commit.
Otherwise this seems to be the more robust solution. (But I wonder why
nobody caught this in the code review axeld asked for in the commit
and the ticket back in 2015? Did nobody notice the unbalanced get/put?)

Fixes #14532, part of #14756, and probably any other NULL dereferences
in VFS I/O functions (XHCI is especially good at exposing these)
that are lingering around on the bugtracker.
diff 64d1636f Wed Dec 12 16:42:03 MST 2018 Augustin Cavalier <waddlesplash@gmail.com> kernel: Rework the FD disconnect feature (again).

axeld's solution from 2015 worked in that it solved the panics and
problems with leaking FDs ... but only if nobody actually tried to
use the FDs again. As you can see in the diff of the previous commit,
in allowing closed FDs (which have NULL "ops") to be returned by get_fd,
all consumers of the get_fd API (so, pretty much most functions in
vfs.cpp and fd.cpp) have to check *both* that (1) the fd is not NULL,
and (2) the fd does not have O_DISCONNECT set.

Besides missing a large majority of consumers of get_fd (which caused
ticket #14532 and also the first half of ticket #14756, probably among
others, as I haven't reviewed all NULL-dereference-in-VFS tickets yet)
this solution missed the fact that calling get_fd increments the reference
count, but then exiting the exact same way as if the FD was NULL
(without putting it) when it is disconnected *also* leaks the FD.

As it turns out, a not insignificant number of applications try
to do this, which (depending on whether you went through one of the
'lucky' functions axeld's commit touched) either (1) leaked the FD,
or (2) caused a kernel panic.

Now, we could go through and add O_DISCONNECT checks to every single
consumer of get_fd followed by put_fd to get the proper behavior ...
but that would be the same thing as just returning NULL here and not
incrementing the reference count.

So it seems the first part of axeld's solution (don't set open_count
or ref_count to -1 but leave them as-is) is the only change necessary.

A few places where there were legitimately missing O_DISCONNECT checks
(some originally added by axeld) are (re-)added in the next commit.
Otherwise this seems to be the more robust solution. (But I wonder why
nobody caught this in the code review axeld asked for in the commit
and the ticket back in 2015? Did nobody notice the unbalanced get/put?)

Fixes #14532, part of #14756, and probably any other NULL dereferences
in VFS I/O functions (XHCI is especially good at exposing these)
that are lingering around on the bugtracker.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
/haiku/src/add-ons/kernel/file_systems/bfs/
H A DBPlusTree.cppdiff ee8cf35f Mon Apr 06 19:54:11 MDT 2020 Kyle Ambroff-Kao <kyle@ambroffkao.com> bfs: Return B_NAME_TOO_LONG from BPlusTree::Find

This patch makes "UnitTester BNode" pass.

Several tests which attempt to create or access a directory entry that
exceeds the maximum length assume that B_NAME_TOO_LONG status will be
returned, since that is what BeOS does. When constructing a BNode with
a path like "/tmp/some really long filename larger than 256
characters...", the vfs eventually calls bfs_lookup() which calls
BPlusTree::Find(). In the case of a really long entry, Find() returns
B_BAD_VALUE.

This patch just changes BPlusTree::Find to return the more specific
error that matches BeOS.

Additionally this patch fixes some assertions in NodeTest. BeOS seems
to have been missing some error checking code in the initialization of
BNode, specifically with BNode(Directory*, const char*) and the
equivalent SetTo method. If you provide an empty string for the child
entry name to either of those, B_OK will be returned. But either way
you initialize the object, when you try to use it, like with
BNode::GetAttrInfo(), you'll get B_BAD_VALUE.

This just changes any assertions for this situation to expect
B_ENTRY_NOT_FOUND, which is the actual initialization error Haiku
sets.

This and the change to bfs resolves many assertions the following
storage tests:
* TestCaller BFile::Init Test 1
* TestCaller BFile::Init Test 2
* TestCaller BNode::Init Test1
* TestCaller BNode::Init Test2
* TestCaller BSymLink::Init Test 1
* TestCaller BSymLink::Init Test 2

Change-Id: I8598352aa341ffcab9f7bc3e6740ae1cb3dbab8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2490
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff ee8cf35f Mon Apr 06 19:54:11 MDT 2020 Kyle Ambroff-Kao <kyle@ambroffkao.com> bfs: Return B_NAME_TOO_LONG from BPlusTree::Find

This patch makes "UnitTester BNode" pass.

Several tests which attempt to create or access a directory entry that
exceeds the maximum length assume that B_NAME_TOO_LONG status will be
returned, since that is what BeOS does. When constructing a BNode with
a path like "/tmp/some really long filename larger than 256
characters...", the vfs eventually calls bfs_lookup() which calls
BPlusTree::Find(). In the case of a really long entry, Find() returns
B_BAD_VALUE.

This patch just changes BPlusTree::Find to return the more specific
error that matches BeOS.

Additionally this patch fixes some assertions in NodeTest. BeOS seems
to have been missing some error checking code in the initialization of
BNode, specifically with BNode(Directory*, const char*) and the
equivalent SetTo method. If you provide an empty string for the child
entry name to either of those, B_OK will be returned. But either way
you initialize the object, when you try to use it, like with
BNode::GetAttrInfo(), you'll get B_BAD_VALUE.

This just changes any assertions for this situation to expect
B_ENTRY_NOT_FOUND, which is the actual initialization error Haiku
sets.

This and the change to bfs resolves many assertions the following
storage tests:
* TestCaller BFile::Init Test 1
* TestCaller BFile::Init Test 2
* TestCaller BNode::Init Test1
* TestCaller BNode::Init Test2
* TestCaller BSymLink::Init Test 1
* TestCaller BSymLink::Init Test 2

Change-Id: I8598352aa341ffcab9f7bc3e6740ae1cb3dbab8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2490
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 1e6dd3fe Fri Apr 24 17:08:00 MDT 2015 Murai Takashi <tmurai01@gmail.com> Fix GCC 5 maybe-uninitialized warnings.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12020
diff 33d9fb86 Sun Oct 19 16:13:03 MDT 2014 Michael Lotz <mmlr@mlotz.ch> BFS: Fix check of key compare in BPlusTree::_ValidateChildren().

In ba320218245aeb11cb74c37ecf7132d0b9903957 the key comparison was fixed
to use a compatible version. Since then the check can actually return
results other than -1. The check done on the result was too strict
however. The child nodes may never contain keys that are larger than the
keys they are reached by. But the last key of a child node may be equal
to the one in the parent. This change fixes the check to take this
special case into account.

Fixes #11026 and #11289. The issue was unproblematic in so far that it
was only hit during a filesystem check and, since BPlusTree does not
yet attempt to correct corrupted trees, did not result in any actual
actions.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 1a7bcf69 Sun Jun 01 17:40:27 MDT 2014 Oliver Tappe <zooey@hirschkaefer.de> Lots of B_PRI... insertions to fix errors with DEBUG=1.
diff 8a43cad2 Thu May 02 13:12:55 MDT 2013 Michael Lotz <mmlr@mlotz.ch> BPlusTree: Fix fCurrentKey in backward TreeIterator traversal.

When reaching the next node the current key should be set to the next
valid index within that node (0 for forward and NumKeys() - 1 for
backward). This did not cause any harm as BFS uses forward traversal
only.
diff 1a5e87cc Thu May 02 13:06:13 MDT 2013 Michael Lotz <mmlr@mlotz.ch> haiku_loader: Reuse BPlusTree implementation of the BFS add-on.

Instead of having an almost exact, albeit read only, duplicate of the
implementation.
diff 1c24ebaa Sun Jul 22 03:42:35 MDT 2012 Alex Smith <alex@alex-smith.me.uk> 64-bit compilation fixes for BFS, add to x86_64 boot image.

Completed in 400 milliseconds