having the thread lock held and interrupts disabled.
Cleaned up the signal handling code, and fixed some minor bugs with blockable
vs. non-blockable signals.
thread_debug_info was using uint64 for signals sets instead of sigset_t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14457 a95241bf-73f2-0310-859d-f6bbb57e9c96
Under BeOS remove_vnode() is failing in this case, which looks like a good idea to imitate.
Also, pipefs/rootfs didn't handle that case - they even removed the entry before calling
remove_vnode() - they now behave correctly. And also BFS now returns the actual error code
received from remove_vnode() instead of B_ERROR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14456 a95241bf-73f2-0310-859d-f6bbb57e9c96
on the previous try (I definitely built mountvolume & mount after the changes).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14453 a95241bf-73f2-0310-859d-f6bbb57e9c96
up a new problem, maybe Adi has an idea for the fix, see
comment in the code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14451 a95241bf-73f2-0310-859d-f6bbb57e9c96
that into account as well (they were reporting an error even though everything
went fine).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14450 a95241bf-73f2-0310-859d-f6bbb57e9c96
* got rid of bogus member variables in FontStyle (which were
already flags in the underlying FT_Face structure)
* disabled using the FreeType font cache -> I think from
my earlier tests, I can conclude that the cache was not
actually working. At least not giving any speed improvements.
The AGG engine contains a caching system, for now, it works ok.
I have no idea if this has anything to do with crashes in the
freetype code, but at least I have not seen any since this
change. But I have not tested much...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14448 a95241bf-73f2-0310-859d-f6bbb57e9c96
more correct now, but it doesn't actually fix anything, since FT_Face
handles are nowhere freed in the app_server code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14447 a95241bf-73f2-0310-859d-f6bbb57e9c96
used font, so that the FontStyle reference count reflects the
fact that the AGG engine might still use the font
-> I think this "fix" is valid, but I have still seen crashes
in the freetype code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14446 a95241bf-73f2-0310-859d-f6bbb57e9c96
about our block_io module not honouring the total length in read_pages().
Removed drops into the debugger when there is a block without an "original"
data buffer - that's completely normal and happens when someone asks for
a cleared block that is not yet in the cache.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14437 a95241bf-73f2-0310-859d-f6bbb57e9c96
get_next_loaded_module_name() no longer prints anything if tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14436 a95241bf-73f2-0310-859d-f6bbb57e9c96
for extended drive parameters.
This should fix eventual "no boot disk" messages of the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14435 a95241bf-73f2-0310-859d-f6bbb57e9c96
counter does not take the current transaction into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14434 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added and implemented new functions cache_blocks_in_[sub_]transaction().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14431 a95241bf-73f2-0310-859d-f6bbb57e9c96
The last log entry was never added to the list (if there were more than one), and
thus, it's blocks were never unlocked nor written back (after some minutes of
makehdimage an empty image would greet you).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14427 a95241bf-73f2-0310-859d-f6bbb57e9c96
though, so it's not really ready to be used in a real file system.
Found an off-by-one/some error in Be's BFS implementation: it doesn't use the log
array to its full extent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14423 a95241bf-73f2-0310-859d-f6bbb57e9c96
1 - IOW using block_runs here is completely bogus.
Crippled our code to not create longer block_runs - at least, a dirty BFS image is
now a dirty BFS image - you can mount a dirty image on either system and it will
work :-)
The R5 version of our BFS is still incompatible though - ie. running bfs_shell or
copy_to_bfs_image on a dirty image will still potentially corrupt it. Maybe I'll
even port the changes over one day...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14418 a95241bf-73f2-0310-859d-f6bbb57e9c96
compatibility, though!
Writing is now combined into a few writev_pos() function calls to speed up log writing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14415 a95241bf-73f2-0310-859d-f6bbb57e9c96
Since CD-ROMs let open themselves read/write, it now also checks the device
geometry, and will make sure the device is opened read-only if the geometry
structure says so - this should reduce the number of write errors you get
during boot :-)
Volume::fFlags is now always correctly maintained.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14414 a95241bf-73f2-0310-859d-f6bbb57e9c96
the read/write access was only correct for the first entry in the iovec.
These functions should be updated to use read_pages()/write_pages() where
possible, anyway - right now, they only save some kernel calls, while they
could be processed by the device at once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14413 a95241bf-73f2-0310-859d-f6bbb57e9c96
tried to write from/read to the userland file descriptor instead of the one
of the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14412 a95241bf-73f2-0310-859d-f6bbb57e9c96
it for us, but seems that we had a lock/memory-leak, here).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14411 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