currently, find_thread(NULL) also uses a syscall, but in the future,
this will be implemented as an efficient inline lookup in calling
thread's local storage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2017 a95241bf-73f2-0310-859d-f6bbb57e9c96
Many bug fixes
Some formatting changes.
Introduction of vnodeManager - to allow cached, opened and mmapped files to
work together in love, peace and harmony.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2012 a95241bf-73f2-0310-859d-f6bbb57e9c96
CapitalizeEachWord() DOESN'T capitalize words separated by spaces, it
capitalizes words separated by non alphabethical characters.
FindLast(char, int32) prototype was misleading.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2008 a95241bf-73f2-0310-859d-f6bbb57e9c96
- the inline functions I introduced earlier have been removed
- the notes about non-Posix extensions to the sigaction struct have been
updated, enlarged, and moved out of the way (near the bottom of the file)
- all the function prototypes have been collected and placed together
- a few more items have been commented
- in general, the organization of the whole file should be more tidy now (I hope)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2003 a95241bf-73f2-0310-859d-f6bbb57e9c96
some minor rearrangement (sys_xxx() calls now placed together)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1997 a95241bf-73f2-0310-859d-f6bbb57e9c96
via the private ioctls defined in bfs_control.h.
Detects all kinds of errors, and can correct most of them. It doesn't fix
any errors in the b+trees (like the ones created by an earlier version
of the BPlusTree class ;-), and it also can't fix the "blocks are already set"
error, which occurs if more than one file claims a particular block (or
range of blocks) for itself.
The double indirect data range is not yet supported, so use with care, or
run the original chkbfs afterwards to fix any errors because of that.
Might not yet analyze 100% correct (shows way to many errors for my tastes...).
A "chkbfs" command will be made available shortly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1994 a95241bf-73f2-0310-859d-f6bbb57e9c96
and atomic_test_and_set() for userland testing purposes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1987 a95241bf-73f2-0310-859d-f6bbb57e9c96
the bug where a block_run could get a zero length after merging it...
Updated a comment in Inode::Remove().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1986 a95241bf-73f2-0310-859d-f6bbb57e9c96
block_runs can be merged together.
Added a constant for the maximum length of a block_run.
Added a flag constant to the inode that prevents freeing up its space
after it has been removed - this is only useful for the "chkbfs" stuff.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1985 a95241bf-73f2-0310-859d-f6bbb57e9c96
output strings -- the old debug table is still there,
now renamed 'sigstr[]'
MAX_SIGNO replaces 32 in several spots
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1976 a95241bf-73f2-0310-859d-f6bbb57e9c96
a new typedef for signal handlers - sig_func_t
(the old one is kept around for backwards compatibility)
a new macro MAX_SIGNO to get rid of magic 32's all about
two more functions (sigemptyset and sigfillset) are now
defined inline as well
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1975 a95241bf-73f2-0310-859d-f6bbb57e9c96
to use the newly provided function for this.
module.c now also uses the initque() function, some minor cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1973 a95241bf-73f2-0310-859d-f6bbb57e9c96