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
Cache::Read() != B_OK failed if the underlying class used that function.
We can now boot R5 with VM turned on without any problems (what a stupid bug).
As a side effect, you can now also mount volumes on your BFS disk, which was
also broken because of this bug.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1930 a95241bf-73f2-0310-859d-f6bbb57e9c96
had some running live queries.
SimpleLock now allows nesting; added some missing atomic operations to
make its implementation as easy as possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1901 a95241bf-73f2-0310-859d-f6bbb57e9c96
Began to move the tests directory to bfs/ instead of befs/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1886 a95241bf-73f2-0310-859d-f6bbb57e9c96
weren't moved to the kernel (as owner), so they would be deleted after
the team which almost randomly created them died.
Benaphores are now only used if USE_BENAPHORES is defined - I have renamed
the Benaphore class to Semaphore to take the changed behaviour into account.
Added a Status() method to the Locker class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1885 a95241bf-73f2-0310-859d-f6bbb57e9c96
could be changed before or during the comparison).
Some style changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1861 a95241bf-73f2-0310-859d-f6bbb57e9c96
yet, but the jam problem is gone and some bugs fixed.
We are now using merged objects to bind different functionality together,
which simplified the kernel Jamfile a lot.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1841 a95241bf-73f2-0310-859d-f6bbb57e9c96
kernel_posix_xxx.o, where xxx stands for stdio/stdlib/unistd/...
sleep.c and usleep.c no longer reference sys_() calls directly, but
call the OS functions instead (snooze_until(), and system_time()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1839 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed some minor a larger issues (one memory corruption due to the use of FD_ZERO()).
notify_select_event() is no longer binary compatible (hasn't been used on R5).
Added syscalls for select/poll in the syscall dispatcher.
Fixed some debug output in fd.c, adapted for the new notify_select_event()
call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1831 a95241bf-73f2-0310-859d-f6bbb57e9c96
Broke binary compatibility for the notify_select_event(), since it obviously
hasn't been used on R5 at all.
The new API/implementation is much nicer to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1830 a95241bf-73f2-0310-859d-f6bbb57e9c96
to the build because I still need to look into those build issues...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1812 a95241bf-73f2-0310-859d-f6bbb57e9c96
Not yet added to the build because other stuff is missing, and there is
a problem with jam I have to sort out before I add the missing things.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1781 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented realloc().
Adapted all other sources, some minor cleanups in some files as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1773 a95241bf-73f2-0310-859d-f6bbb57e9c96
You now need to include malloc.h (or stdlib.h) and use malloc(), free(),
and strdup().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1772 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed the StringItem.h header to be compatible with BeOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1758 a95241bf-73f2-0310-859d-f6bbb57e9c96
hash implementations in that file... we should really remove one of them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1747 a95241bf-73f2-0310-859d-f6bbb57e9c96
Not yet tested.
Moved the CHECK_USER_ADDRESS() macro from vfs.c to kernel.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1746 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed module.c and int.c to use that one.
Some minor cleanups in module.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1744 a95241bf-73f2-0310-859d-f6bbb57e9c96
the VFS - BeOS don't have poll() at all, so we can freely choose them.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1743 a95241bf-73f2-0310-859d-f6bbb57e9c96
header kqueue.h - together with their implementation which was in module.c
Added a new CHECK_USER_ADDRESS() macro that can be used to check if a
user address points into the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1742 a95241bf-73f2-0310-859d-f6bbb57e9c96
also contains the pselect() prototype.
Added new header file sys/time.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1736 a95241bf-73f2-0310-859d-f6bbb57e9c96
%lld is now int64 as well.
Cleaned up a little bit (removed K&R style prototypes).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1671 a95241bf-73f2-0310-859d-f6bbb57e9c96
FreeBSD sources.
Added llabs() (and a newline at the end of the file).
Fixed qsort.c and removed the unneeded FreeBSD header - min() wasn't declared.
Added the string conversion stuff to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1665 a95241bf-73f2-0310-859d-f6bbb57e9c96
not available in BeOS, so there is no reason to add them).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1663 a95241bf-73f2-0310-859d-f6bbb57e9c96
Removed deprecated strtoq() functions (they are not even part of BeOS, so
why should we include this cruft?).
Added prototypes for llabs(), and lldiv() - added lldiv_t to div_t.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1661 a95241bf-73f2-0310-859d-f6bbb57e9c96
prototypes (and those commented out), to keep the whole project be compilable
and usable on BeOS.
Fixed a bug in fcntl.h (definition for O_DIRECT), added new O_MOUNT.
Added prototypes and "struct tm" to time.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1619 a95241bf-73f2-0310-859d-f6bbb57e9c96
and Free() methods which operate on the AllocationBlocks.
BlockAllocator::AllocateBlocks() couldn't correctly reserve space for allocation
groups with more than 2 blocks - AllocationGroup::Allocate() now can, which
is now used by AllocateBlocks() (but it's slightly less fast).
Began implementing functionality for a chkbfs-like command.
Some style changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1603 a95241bf-73f2-0310-859d-f6bbb57e9c96
$ COMPILE_FOR_R5=1 jam
will compile the "bfs" version, otherwise the "obfs" version is created.
Note: the final executable will always be called obfs (for now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1591 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented index syscall functions in VFS.
Added fs_index.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1566 a95241bf-73f2-0310-859d-f6bbb57e9c96
Commented system_time() in time.c - it's already implemented in atomic.S (not
that it would belong there).
Fixed linking of rewind.c
Added syscalls for the index functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1565 a95241bf-73f2-0310-859d-f6bbb57e9c96
errno if an error occurs; they don't return the error status directly.
Also fixed a fd leak in fs_open_attr_dir().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1563 a95241bf-73f2-0310-859d-f6bbb57e9c96
Corrected the prototype for fs_rewind_index_dir() (don't copy and paste...)
Also checked in the syscall definitions for the signal stuff to save Angelo
some work.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1562 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation (same for the corresponding write call).
Removed the sys_write_attr_stat() call because it is no longer needed.
Added stat(), fstat(), and other POSIX calls to the kernel - many are still
missing (mainly from stdio).
Added symbols (but no implementation) for unistd.h's process id functions.
Adapted libroot calls that used sys_read_stat() before to the new architecture.
module.c and bus_man.c now use stat() directly instead of the sys_read_path_stat()
call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1555 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation.
Removed the sys_write_attr_stat() call because it is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1554 a95241bf-73f2-0310-859d-f6bbb57e9c96
which is now used thorough the VFS code instead of user_strncpy().
fd.c: Replaced some return codes.
vfs.c: joined attr_dir_open(), and attr_dir_open_fd(), added sys_/user_
calls to access attributes, and attribute directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1455 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed the file_descriptor structure (more status_t, name removed).
Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those
also work with -O0 -g.
Added prototypes for [arch_cpu_]user_strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed read_pages(), and write_pages() to make it more clear.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1446 a95241bf-73f2-0310-859d-f6bbb57e9c96
Included NewOS change 1656 (O_CLOEXEC support, and a bug fix in get_vnode()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1431 a95241bf-73f2-0310-859d-f6bbb57e9c96