much simpler.
* Simplified code to compute "start", ie. the index of the first MIME type menu
item.
* Promote MIME types to the top-level if their super type don't add any
attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27143 a95241bf-73f2-0310-859d-f6bbb57e9c96
its parent. The item count of the parent is now actually adjusted, so that
additional entries are found.
* AddMimeMenu() now returns the menu of an already existing MIME type. Hence,
we don't add the supertype menu twice anymore for each type, or don't add
the second type at all when called again.
* Cleaned up naming, consistent use of "* " vs. " *".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27142 a95241bf-73f2-0310-859d-f6bbb57e9c96
that possibility.
* It now has a "remove" argument instead, that decides whether or not the
image has to be removed from the hash still.
* Moved locking to put_module_image(), ie. both, {load|unload}_module_image()
need to be called with the sModulesLock held now.
* module_init_post_boot_device() needs to remove the image from the hash itself,
or else it messes up its hash iterator.
* check_module_image() could call unload_module_image() under certain
conditions - but this was completely wrong, and could have caused crashes.
* search_module()/check_module_image() now keep a reference to the module
image on success, thus a caller doesn't need to call get_module_image()
again afterwards - this also fixes another round of potential module
unloading to happen.
* That reference is leaked for built-in modules in get_module(), but it doesn't
matter for them, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27140 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rename error to status
* Fix assignements in udf_read_stat
* Added udf_{close_dir,free_dir_cookie} hook functions which prevented
udf from mounting the partition
It seems mouting an udf partition works correctly but I'm still unable
to list its content.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27138 a95241bf-73f2-0310-859d-f6bbb57e9c96
as they aren't unloaded when there is no boot device yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27136 a95241bf-73f2-0310-859d-f6bbb57e9c96
causing a partial copy of the entry in vfs.cpp fix_dirent(), which then
returned an error, making FAT directories unreadable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27130 a95241bf-73f2-0310-859d-f6bbb57e9c96
dirent without the name first, and will then check if the d_reclen member
is valid before copying the name.
* This shows the problem with the FAT file system that was revealed by r26859.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27128 a95241bf-73f2-0310-859d-f6bbb57e9c96
for a specific MIME type.
- Attribute menus now display a hierarchy with type and supertype attributes.
This looks a bit ugly but mostly because not all types and supertypes have icons and descriptions. Anyone up to do a MIME database cleanup? :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27125 a95241bf-73f2-0310-859d-f6bbb57e9c96
synchronously; we use the resource resizer instead. This avoids another
potential deadlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27123 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a second kernel daemon service, resource resizer, which is
mainly supposed to be used for resizing allocations asynchrounously.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27122 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Do not save or load attributes in the protected namespace.
Now cddb_server has everything it needs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27120 a95241bf-73f2-0310-859d-f6bbb57e9c96
without object depot it should be complete. For the other stuff
internal_alloc() would need to pass the flag on to block_alloc(), but
that isn't possible yet.
* Adjusted the low memory handler to respect the minimum object reserve
of the object caches.
The swap_test_heap test does seem to pass reliably with 128 MB RAM and
128 MB allocation, now. It's quite slow, though. Particularly while the
allocation is filled, the system is completely unusable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27118 a95241bf-73f2-0310-859d-f6bbb57e9c96
create_area_etc().
* When the new flag CREATE_AREA_DONT_WAIT is specified, the functions
don't wait for memory or pages to become available. They fail
immediately instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27117 a95241bf-73f2-0310-859d-f6bbb57e9c96
Still missing something though, as it still panics with an ip 0x0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27112 a95241bf-73f2-0310-859d-f6bbb57e9c96
Usefull when, for some reason, you already have an fd around.
- Changed the non-parameter version to set the fd and call the parametrized
version.
- CD-Text reasing is expensive (takes up to 4 seconds on my machine) so now it
is only done if this is the first time the CD is inserted (technically, if it
errors out when trying to open the attributes file for the CD). With this, the
first time I mount a CD still takes 4 seconds, but consecutive mounts happen
almost instantaneously.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27109 a95241bf-73f2-0310-859d-f6bbb57e9c96
in order to publish the root node
* fixed _RootVNodeID assignement
* Applying our coding guidelines
Mounting now goes as far as lookup, then I get a panic from w>Desktop
thread in CreateVolume -> GetRootDirectory. ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27104 a95241bf-73f2-0310-859d-f6bbb57e9c96
eventually the VIP heap would be exhausted.
* WriteAsync() didn't call the provided callback when an error occurred
before invoking vfs_asynchronous_write_pages(). The page writer would
get stuck in those cases.
* The object cache used for the swap blocks does now use the
asynchronous resizing feature to avoid deadlocks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27101 a95241bf-73f2-0310-859d-f6bbb57e9c96
of free objects an object cache should try to have ready. If the number
of free objects drops below the threshold, a new urgent priority thread
is asked to asynchronously resize the object cache (pretty similar to
the heap grower thread). Such a mechanism is necessary for code paths
that are supposed to free pages, but may need memory themselves (like
the swap support).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27100 a95241bf-73f2-0310-859d-f6bbb57e9c96
calls the method unchecked, and the buffer can actually be NULL, if
Init() failed.
* panic() when running out of VIP memory, at least when KDEBUG is
set.
* Use heap_set_get_caller() for the VIP heap, so the heap leak checking
produces useful caller addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27099 a95241bf-73f2-0310-859d-f6bbb57e9c96
is enabled to set a per-heap get_caller() function.
* Added "-h <heap>" option to the "allocations_per_caller" command. If
given only the allocation for the specified heap are considered.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27097 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Includes all relevant handling of CDDA exported attributes so you guys can
see where I am going with this.
CDDB handling (including server connection, request and response parsing)
will come up next. In the future we will also have a configuration panel
and a Deskbar replicant for controlling it.
Do we really have to edit the Jamfile in the parent dir to get something
building with our build system?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27096 a95241bf-73f2-0310-859d-f6bbb57e9c96
prefs as discussed in #2139 comments. This allow using Alt-Gr in either
Ctrl or Alt mode. Appearance needs a serious style cleanup, comming next
:)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27095 a95241bf-73f2-0310-859d-f6bbb57e9c96