* The B_QUIT_REQUESTED message never arrived for me unless I unlock the
BLooper again, then it works as expected.
* The B_QUIT_REQUESTED handling accessed fOwnsLooper after deleting the
object.
(Review much welcome - I don't understand the purpose of locking the BLooper
at all before trying to use a BMessenger to send it a message.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26805 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Forgot to remove the "bfs_block_runs" debugger command on module unload.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26800 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The blocks beyond that would be potentially read in smaller chunks than
anticipated, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26798 a95241bf-73f2-0310-859d-f6bbb57e9c96
without filling it with zeros (ie. make use of B_STAT_SIZE_INSECURE).
* Added TODO that closing the file descriptor in swap_init_post_modules()
(that should probably renamed to swap_init_post_boot_device()) is not really
a good idea.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26797 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Beginnings of node monitoring support. Currently disabled, but detects
new, changed and removed files. Folders untested yet. There may also be
a problem with the toplevel folders when a pose selection message is used.
That's untested too as of yet.
* Removed some superfluous whitespace.
* Small refactoring in FolderIterator to access some stuff from the outside
as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26795 a95241bf-73f2-0310-859d-f6bbb57e9c96
which are now only used for directories and for files smaller than 1 MB.
* For files between 1 MB and 32 MB 512 KB are used as preallocation size,
everything beyond that will get a 1/16 of their file size, ie. 4 MB with a
file size of 64 MB, 64 MB with a file size of 1 GB.
* This should help a lot with fragmentation of large files when they are written
synchronously.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26794 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The "bfs" KDL command now also accepts ',' as group/start delimiter in a
block_run.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26793 a95241bf-73f2-0310-859d-f6bbb57e9c96
StartWatching() before and the BPathMonitor stuff is therefor not initialized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26792 a95241bf-73f2-0310-859d-f6bbb57e9c96
now a lot earlier.
* That makes it now possible to use modules pretty early in the kernel (like
before timer_init(), or int_init_post_vm()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26790 a95241bf-73f2-0310-859d-f6bbb57e9c96
object.
* Improved check that enforces search pattern history limit to also handle
the case when the limit is changed in the source.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26787 a95241bf-73f2-0310-859d-f6bbb57e9c96
* FileIterator is now a mostly abstract interface
* FolderIterator is the currently only implementation (there could be
MessageIterator for an even better separation, which would read the top
level search folders from the BMessage with the selected poses, but it
would mostly use the same code for traversing the subfolders anyways so I
left that for the time being.)
* The Grepper and FolderIterator now copy the current settings from the Model
at instantiation. Since they run in a separate thread and the Model may
actually be changed from the Window thread, I think this is just a cleaner
and more safe solution.
* Cleanup here and there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26786 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added file_map_set_mode() function that you can use to keep a whole file
cached. This is needed for the swap file support: FILE_MAP_CACHE_ALL will
not only precache all file_io_vecs when called, but it will also cause all
file_map_translate() calls to fail that would require further caching (ie.
if the file size had changed).
* Updated the fs_shell file map code to the latest one (with several bug fixes).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26785 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Keep track of the stack space actually allocated for the cache and let
Write() fail when we've already allocated as much as reserved.
* Added second phase of swap initialization (swap_init_post_modules())
which reads the virtual memory driver settings and creates/resizes a
swap file. ATM truncate() is used to resize the swap file, but that is
a bit slow. We should probably introduce a VFS function to use BFS's
fast method.
This should make swap support work somewhat, but since swap space is
never freed ATM this would be a relatively short pleasure. Still
disabled by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26783 a95241bf-73f2-0310-859d-f6bbb57e9c96
* bfs_open() was leaking the already allocated cookie in several error
conditions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26780 a95241bf-73f2-0310-859d-f6bbb57e9c96
actual caching in the file cache, i.e. all reads and writes go directly
to the underlying device. The implementation is not quite complete,
since the VM can still add pages to the cache when the file is mmap()ed,
which can lead to inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26779 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When do_iterative_fd_io_iterate() fails, we must not invoke the
supplied finished hook explicitly, since it is invoked indirectly by
request->SetStatusAndNotify() anyway. Should fix#2557.
* We must detach the descriptor putter as soon as we have adjusted the
request's finished callback, since that will put the descriptor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26776 a95241bf-73f2-0310-859d-f6bbb57e9c96
and size of the double fault stack.
* is_kernel_stack_address() does now also check whether the given
address is on the double fault stack. This fixes stack traces on
double faults, which were broken (i.e. went only to the double fault
iframe) since we started checking whether the addresses are on the
kernel stack at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26775 a95241bf-73f2-0310-859d-f6bbb57e9c96
- implemented arch_debug_get_stack_trace(), should allow building with TRACING enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26771 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Disabled "timing.sync != 3" check that potentially ignores modes that we might
want to have. We could also add the mode by resolution in that case, and
ignore the timing info completely. There should be an open bug about this,
but I couldn't find it.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26762 a95241bf-73f2-0310-859d-f6bbb57e9c96
better call Window::SetMinimized() before calling it from there.
* And since ShowWindow() calls _SendFakeMouseMoved(), we also better don't
call it with the window lock held, or otherwise we would potentially cause
a deadlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26760 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Simplified the subpixel related methods for the AGG "pixel format" template
interface, the ones for the solid cover simply pass through the existing
methods, so only one subpixel blending function is left which does the actual
work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
implements subpixel anti-aliasing for any generic AGG vector pipelines. It
is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
rotated, sheared or big enough fonts) depending on the global subpixel
setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
to InterfaceDefs.cpp where other such functions live. They are not related
to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
them to the Appearance preflet instead.
All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
node monitoring easier. Also, FileIterator will be split to make the code
cleaner with regards to folder or selection mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26752 a95241bf-73f2-0310-859d-f6bbb57e9c96
io() hook directly (it might not even have one).
* Fixed incorrect check in synchronous_io() which would cause requests
with more than one vec to finish early. Fixes bug #2558.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26751 a95241bf-73f2-0310-859d-f6bbb57e9c96
* {read,write}_pages() use vfs_{read,write}_pages() now, instead of
invoking the FS {read,write}_pages() hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26750 a95241bf-73f2-0310-859d-f6bbb57e9c96