into its own shared/AutoLocker.h. It can be used by userland code too.
* Removed headers/private/shared/ObjectLocker.h and replaced all uses of
BObjectLocker by AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20432 a95241bf-73f2-0310-859d-f6bbb57e9c96
possibility to initialize the AutoLocker without locking the object even
if it is unlocked yet. Especially in loops Lock()/Unlock() come handy
when an otherwise constantly hold lock needs to be unlocked for a short
time.
I suppose we should move the kernel utils AutoLocker implementation
to headers/private/shared, and drop the less powerful ObjectLocker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20405 a95241bf-73f2-0310-859d-f6bbb57e9c96
for the kernel. Added missing includes in userland code that uses the
header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20366 a95241bf-73f2-0310-859d-f6bbb57e9c96
* recursive_lock_unlock() now returns a void to mirror it's counterpart better;
use recursive_lock_get_recursion() if you're interested in the lock depth.
* switch_sem(), and release_sem() now don't do anything anymore in kernel startup
mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20099 a95241bf-73f2-0310-859d-f6bbb57e9c96
This also fixes the issue of exporting a C++ API from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18974 a95241bf-73f2-0310-859d-f6bbb57e9c96
inserts the item before, and not after the given element (that's probably
what you expected anyway).
* Added ReverseIterators.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18307 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added an Insert() variant that can insert an element behind another one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18199 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Adapt other sources where needed (the boot loader's RootFileSystem still
used the old implementation).
* Implemented RootFileSystem::Rewind().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16889 a95241bf-73f2-0310-859d-f6bbb57e9c96
before another one in the list.
* The video modes in the boot loader are now sorted (by resolution, larger
resolution comes first). Doubled entries are automatically removed; this
fixes bug #192.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16572 a95241bf-73f2-0310-859d-f6bbb57e9c96
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
some heuristic: when you booted from a CD, CDs are preferred; else, volumes with
names like "Haiku" or "System" are preferred - if someone has better ideas, please
shout.
Note, this heuristic will only come into play if the boot loader was loaded from
an image (ie. floppy/CD/network), and you didn't choose any boot device.
Added evil methods to the Stack class that come in handy (you can now directly
access the array) for this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14410 a95241bf-73f2-0310-859d-f6bbb57e9c96
removed unused headers. Adapted sources to still compile with the new
header locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11913 a95241bf-73f2-0310-859d-f6bbb57e9c96
link member in the element class. Usually more comfortable for structs.
* Added Add() method as synonym for Insert().
* Made fGetLink member static to save memory in objects using it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11188 a95241bf-73f2-0310-859d-f6bbb57e9c96
<disk_device_manager/KDiskDeviceUtils.h> into <util/AutoLock.h>.
Added instantiations for recursive locks (moved from vfs.cpp) and
mutexes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11157 a95241bf-73f2-0310-859d-f6bbb57e9c96
append-only and hence has very compact storage and a comparatively small
footprint implementation. Can be used for kernel->userland messaging.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10958 a95241bf-73f2-0310-859d-f6bbb57e9c96
Switched back to a pointer to the list in the Iterator internally, so
that it can still be just copied without having to overload "=", etc.
This fixes the boot loader build, too (shame on me).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6941 a95241bf-73f2-0310-859d-f6bbb57e9c96