and I'm still not quite happy with it... will probably work on
it some more
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20441 a95241bf-73f2-0310-859d-f6bbb57e9c96
Integration patch from kaliber as of bug #1127, with a minor fix. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20438 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
- moved the network type handling into NetworkTypes.cpp.
- list the known socket options and some of their types (mostly only handling
integers right now).
- in order to look at the socket options values, i added specialized pointers
to look at the value pointed by int *, unsigned int *, long *,
unsigned long *, long long * and unsigned long long *. This proved helpful
in other situations, such as looking at the msgCode of read_port_etc and
other similiar cases.
- i added a new option to -d, "pointer_values" to enable/disable this "look
at integer pointer values" behavior.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20429 a95241bf-73f2-0310-859d-f6bbb57e9c96
yet sure what is causing this, but until I find the time to look into it (or someone else
as part of GSoC), raising the limit helps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20427 a95241bf-73f2-0310-859d-f6bbb57e9c96
the correct modifier ("ll") has to be used. On x86 it doesn't make a
difference, if that's the last argument, but with other ABIs it might.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20425 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Context got its own source and header files.
* Syscall::GetSyscall() had little to do with the Syscall class itself;
it's get_syscall() now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20424 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Print structures passed to ioctl() for several commands (networking and
terminal).
* Optional hex/decimal formatting of numbers (option -i).
* New level of detail option -d.
* Other improvements, like the introduction of a Context class to simplify
passing around stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20423 a95241bf-73f2-0310-859d-f6bbb57e9c96
address is set, and changes this if not; this makes traceroute work on Haiku.
Patch by Hugo Santos.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20422 a95241bf-73f2-0310-859d-f6bbb57e9c96
on setsockopt() for all options. Thanks to Hugo Santos for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20421 a95241bf-73f2-0310-859d-f6bbb57e9c96
owner of that thread - this fixes the kernel part of bug #1122.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20419 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added rule AddSourceDirectoryToHaikuImage to copy source directories
onto the image. They will be placed in /boot/home/HaikuSource/...
according to their relative path. This should make it a bit more
comfortable to use gdb as a source level debugger. Alas, the
directories have to be made known to gdb individually (with the
"directory" command). I guess we should update to 6.6...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20415 a95241bf-73f2-0310-859d-f6bbb57e9c96
short, if the FD table size wasn't a multiple of 8.
* vfs_resize_fd_table() didn't seem to know at all about the
close-on-exit bitmap. The pointer in the io_context would point to
free()d memory afterwards. This explains the sporadically closed
stdin/out/err descriptors in programs started from Tracker and
Deskbar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20413 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a comment to vm_remove_all_page_mappings() that shows that we need to
change the mapping spinlock into a mutex.
* Pointed out some potential problems in the code.
* Added vm_page_at_index(), vm_clear_map_activation(), and vm_test_map_activation()
in preparation of the page scanner rewrite.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20407 a95241bf-73f2-0310-859d-f6bbb57e9c96
Basically reused the kernel implementation, but needed to hack it quite
a bit and also add an emulation of the required VM interface.
Completely untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20406 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
* Based on Dave Coffin's fabuluous dcraw - it's basically the same thing in C++,
but follows common sense programming rules a bit more :-).
* Current version probably only supports PENTAX RAW format, though.
* Still lots of places left to clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20404 a95241bf-73f2-0310-859d-f6bbb57e9c96
#683, but makes bug #582 look even more funny. Oh, well I hope I'll fix
it one day.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20403 a95241bf-73f2-0310-859d-f6bbb57e9c96
mapped fully read-only (for both kernel and userland). Previously a
kernel read access to a yet unmapped r/w accessible userland address
would cause the page from the lower cache to be mapped with write
permission for userland (on x86 also for the kernel) thus e.g.
allowing a fork()ed child process to write to the parent process'
memory.
Fixes bugs #113 and #928.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20402 a95241bf-73f2-0310-859d-f6bbb57e9c96
and #928. Under certain conditions a fork()ed child process can
write to the parent process' memory.
A fix follows...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20401 a95241bf-73f2-0310-859d-f6bbb57e9c96
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
{set,clear}_debugger_{break,watch}point(), allowing to set/clear break
and watchpoints for the calling team. When a break/watchpoint is hit,
the team enters the debugger. Handy in situations when the program in
question can't really be started in a debugger (or it would be
complicated to do so). The functions work only as long as no debugger is
installed for the team.
We clear the arch specific team and thread debug infos now, when a new
debugger is installed, thus clearing break- and watchpoints.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20396 a95241bf-73f2-0310-859d-f6bbb57e9c96
"Shutdown window didn't draw fancy gray box where closing app's icons are shown
as in BeOS."
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20395 a95241bf-73f2-0310-859d-f6bbb57e9c96