Ingo Weinhold [Wed, 20 Jan 2010 18:40:16 +0000 (20 18:40 +0000)]
Always unlock the object cache while allocating memory. This is necessary for
the CACHE_DONT_SLEEP flag to work for real, since otherwise the thread could
block on the mutex held by a thread allocating memory. We use two condition
variables to prevent multiple threads from allocating slabs at the same time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35206 a95241bf-73f2-0310-859d-f6bbb57e9c96
Adrien Destugues [Wed, 20 Jan 2010 18:26:24 +0000 (20 18:26 +0000)]
Update of ja.catkeys done by koki. Thanks !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35205 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 18:05:00 +0000 (20 18:05 +0000)]
* Reverted r35203, i.e. ObjectCache::object_per_slab is gone again.
* Changed the semantics of object_cache_reserve_internal(). Now it makes sure
the given number of objects are free. As a side effect this also changes
the semantics of object_cache_reserve() similarly, though I have trouble
seeing the purpose of the function in the first place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35204 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 17:46:06 +0000 (20 17:46 +0000)]
Added ObjectCache::objects_per_slab, which allowed to squash the TODO in
object_cache_reserve_internal().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35203 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 17:07:42 +0000 (20 17:07 +0000)]
* Consequently propagate the CACHE_DONT_SLEEP flag.
* block_alloc(): Create B_FULL_LOCK area.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35202 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 14:05:59 +0000 (20 14:05 +0000)]
HashedObjectCache::ReturnSlab(): Also free the slab object itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35201 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 13:00:57 +0000 (20 13:00 +0000)]
Replaced the locking strategy (formerly a recursive lock for the depot and
one for each per CPU store):
* The depot is now protected by a R/W lock combined with a spinlock. It is
required to either hold read lock + spinlock or just the write lock.
* When accessing the per CPU stores we only need to acquire the read lock
and disable interrupts. When switching magazines with the depot we
additionally get the spinlock.
* When allocating a new magazine we do completely unlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35200 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 12:12:54 +0000 (20 12:12 +0000)]
Reordered functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35199 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 10:56:34 +0000 (20 10:56 +0000)]
Shuffled functions a bit, so that they are in a reasonable order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35198 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 10:28:18 +0000 (20 10:28 +0000)]
Removed debug left-over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35197 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 09:34:53 +0000 (20 09:34 +0000)]
Changed the team shutdown process a bit:
* The threads beside the main thread are killed earlier now (in the new
team_shutdown_team()), before removing the team from the team hash and from
its process group. This fixes #5296.
* Use a condition variable instead of a semaphore to wait for the non-main
threads to die. We notify the condition right after a thread has left the
team. The semaphore was released by the undertaker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35196 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Wed, 20 Jan 2010 09:00:38 +0000 (20 09:00 +0000)]
vm_get_page_mapping(): The translation map wasn't locked. For x86 the
function is used only in one place and the missing locking would be harmless
if it weren't for the per translation map physical page mapper. It is used to
map the page table for the lookup. Concurrent access could corrupt its data
structures, or, just as bad, the unlocked Query() could remap the page table
used by a concurrent Map() or Unmap(), which would then manipulate the
wrong page table.
Potentially messing up kernel memory, this bug could obviously cause all
kinds of kernel crashes and weird behavior. E.g. ticket #5138 is a likely
candidate, as are triple faults.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35195 a95241bf-73f2-0310-859d-f6bbb57e9c96
Michael Lotz [Wed, 20 Jan 2010 05:01:28 +0000 (20 05:01 +0000)]
Adding a log_overlay filesystem layer. It passes through all calls to the other
layer(s) and logs a timestamp, the thread id, the super volume or super vnode
and interesting bits about call arguments/results to a file (in /var/log). This
can be used for example to debug filesystems without having to manually add
debug output to all the calls, or to analyze access patterns. To add the logging
layer just mount the layer with whatever actual filesystem you have:
mount -t "bfs:log_overlay" /dev/disk/usb/0/0/0 /mountpoint
This would then create the logfile /var/log/log_overlay_dev_disk_usb_0_0_0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35194 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Wed, 20 Jan 2010 03:56:36 +0000 (20 03:56 +0000)]
[Expander]: Fix for Zoom
* When the zip file was really large, it was possible the Height passed to SetZoomLimit exceeded the maximum allowed size. Now, we clip at 32767.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35193 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Wed, 20 Jan 2010 02:45:37 +0000 (20 02:45 +0000)]
Add Japanese Background preflet translation by Jorge G. Mare.
Thanks! Closes ticket #5300.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35192 a95241bf-73f2-0310-859d-f6bbb57e9c96
Michael Lotz [Tue, 19 Jan 2010 23:47:03 +0000 (19 23:47 +0000)]
The vnode->private_node holds our object, not vnode itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35191 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Tue, 19 Jan 2010 23:35:25 +0000 (19 23:35 +0000)]
* Fixes ticket #3068. DataTranslations accept timezone files as valid
translators.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35190 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Tue, 19 Jan 2010 23:35:22 +0000 (19 23:35 +0000)]
* Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35189 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Tue, 19 Jan 2010 23:31:58 +0000 (19 23:31 +0000)]
[Expander] : Window Sizing enhancements
* Now takes the screen size into consideration when enlarging the window (fixing ticket #5280)
* Enables Zooming capabilities
* Remembers the last height of the window so that clicking Show contents on and off just returns it to the previous height.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35188 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Tue, 19 Jan 2010 23:29:15 +0000 (19 23:29 +0000)]
Fix build with VM_PAGE_FAULT_TRACING enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35187 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Tue, 19 Jan 2010 22:52:09 +0000 (19 22:52 +0000)]
* Introduce a new method to ask the translator if it can handle the image
output size, if not it will not show up in the dynamically generated
translator list. Folow up on ticket #4874.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35186 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 22:05:18 +0000 (19 22:05 +0000)]
Applying patch by mmadia. This fixes ticket #5299. Thank you!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35185 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 21:37:41 +0000 (19 21:37 +0000)]
Patch by Matt Madia:
Ignore "NetFS" OptionalPackage in the installoptionalpackage script. It is a
source code only optional package which needs to be compiled from within the
tree.
Thanks a lot! Fixes #5297.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35184 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 20:45:20 +0000 (19 20:45 +0000)]
* object_cache_return_object_wrapper(): Calling object_cache_free() is a bad
idea, since that would potentially add the object back to the object store
or lead to infinite recursion. When the object cache is destroyed it most
likely led to infinite loops, because the object would alternately be
removed from and added back to the object store.
* delete_object_cache(): Lock after destroying the object store, so we don't
deadlock.
* Use the object store on SMP machines. It seems to work, though I only
tested with the network stack and that seems to have problems of its own.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35182 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 20:37:39 +0000 (19 20:37 +0000)]
Pulled smp_get_num_cpus() out of loops.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35181 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 20:36:29 +0000 (19 20:36 +0000)]
Coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35180 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 20:36:06 +0000 (19 20:36 +0000)]
* Fixed build with PARANOID_HEAP_VALIDATION.
* heap_index_for(): Could return invalid index, if there hadn't been created
a set of heaps for each CPU.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35179 a95241bf-73f2-0310-859d-f6bbb57e9c96
Adrien Destugues [Tue, 19 Jan 2010 20:10:39 +0000 (19 20:10 +0000)]
Update lithuanian catalog for touchpad.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35178 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 20:04:54 +0000 (19 20:04 +0000)]
gcc 2 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35177 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 19:38:09 +0000 (19 19:38 +0000)]
Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35176 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 19:21:48 +0000 (19 19:21 +0000)]
Installer cannot use find_directory(), since it needs to support source volumes
other than /boot. That's why it worked like it did in the first place. Some
folders like "trash" can be volume specific, but most others are not and the
volume passed to find_directory() is ignored (which makes sense).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35175 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 19:13:25 +0000 (19 19:13 +0000)]
* Split the slab allocator code into separate source files and C++-ified
things a bit.
* Some style cleanup.
* The object depot does now have a cookie that will be passed to the return
hook.
* Fixed object_cache_return_object_wrapper() using the new cookie.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35174 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 18:51:30 +0000 (19 18:51 +0000)]
Make the Installer ignore /var at it's new location. The old location is also
still checked, in case one uses the Installer to copy an old installation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35173 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 18:25:48 +0000 (19 18:25 +0000)]
Added "NetFS" OptionalPackage.
You will want to edit /boot/home/config/settings/kernel/netfs-server before you
run netfs_server for the first time (or use netfs_server_prefs on the command
line, see below).
To run the server:
$ /system/servers/netfs_server &
To run the client:
$ /system/servers/authentication_server &
$ mkdir /dummy
$ mount -t userlandfs -p "netfs """ /dummy
A "Network" icon will appear on your desktop. Remote servers will appear inside
the "Network" folder (host name). Inside a folder for a server are the shares
of that server. (I.e. what has been defined as share in that respective server's
netfs-server driver settings file). netfs_server has actually a new settings
file format, you can create settings by using "netfs_server_prefs --help" on the
command line. Have fun!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35172 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 17:49:45 +0000 (19 17:49 +0000)]
* Adapting firmware based driver to the new firmware name mapping method.
* Removing the respective settings files, as they are no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35171 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 17:44:38 +0000 (19 17:44 +0000)]
* Reworked firmware loading. This gets rid of the need for the settings files.
Name mapping is now defined in the glue code.
* Adding two macros for handling firmware name mapping completely in the glue
code:
- HAIKU_FIRMWARE_NAME_MAP(firmwarePartsCount) is used when mapping is
required. Have a look to iprowifi2100's glue code for an example.
- NO_HAIKU_FIRMWARE_NAME_MAP() is used when the firmware names don't need to
be mapped. For example: broadcom43xx
* Discard usage of vm_map_file() and use the previously read() method again.
After Axel and Ingo agree that both methods are fine in this particular use
case, using read() looks easier on the eye. It needs only 3 parameters, where
vm_map_file() takes 10.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35170 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 16:57:59 +0000 (19 16:57 +0000)]
* Renamed NetFSServer to netfs_server and added .rdef for running it in the
background.
* Renamed NetFSServerPrefs to netfs_server_prefs.
* Fixed copyright years in authentication_server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35169 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 16:05:19 +0000 (19 16:05 +0000)]
Added resource which makes the userlandfs_server run as a background service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35168 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 15:50:33 +0000 (19 15:50 +0000)]
* Renamed jam target to "authentication_server"
* Updated application signature (I couldn't find a place outside the server's
code where it is used).
* Added .rdef with icon and making the app run as background service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35167 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 15:40:24 +0000 (19 15:40 +0000)]
axeld+stippi:
When initializing driver settings, make sure to set the parameter count to 0,
because these settings have not been parsed yet. This allows us to safely free
the settings. Freeing the settings is triggered in load_driver_settings() if
we encounter settings which have been originally loaded by the boot_loader,
which might be stale. I think the bug would trigger for settings which had been
loaded by the boot_loader but had never been parsed.
With this change, I can use the userlandfs on all my machines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35166 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Tue, 19 Jan 2010 10:59:00 +0000 (19 10:59 +0000)]
Renamed jam target to just "netfs".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35165 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 10:17:33 +0000 (19 10:17 +0000)]
Adding a wifi firmware installation script done by mmadia. This script installs
firmware for unshipable broadcom43xx and marvell88w8335. Furthermore it installs
the firmware for ipw2100 and iprowifi2200, which requires the user to consent
to its license terms. Thank you mmadia!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35164 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 10:17:16 +0000 (19 10:17 +0000)]
Moved the definition of the CACHE_ALIGN_ON_SIZE flag to the header and fixed
its value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35163 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 10:13:27 +0000 (19 10:13 +0000)]
Adding firmware licenses for shipable firmwares. This fulfills a requirement of
AboutSystem and the install-wifi-firmwares script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35162 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 10:12:48 +0000 (19 10:12 +0000)]
* Renamed headers/private/kernel/slab/Depot.h to ObjectDepot.h.
* Moved the object depot code to its own source file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35161 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 09:58:11 +0000 (19 09:58 +0000)]
* Adding shipable firmwares to the repository. They aren't included in the
nightlies, though. As this will require an update of AboutSystem, which is
scheduled for a later commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35160 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 09:45:28 +0000 (19 09:45 +0000)]
Another driver settings file. Should have been part of r35158.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35159 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 09:44:02 +0000 (19 09:44 +0000)]
Adding driver settings file with the firmware name mappings. Those files need
to be copied to /home/config/settings/kernel/drivers with omitting the file
endings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35158 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 09:15:27 +0000 (19 09:15 +0000)]
Reverting to original firmware naming scheme. You now just have to extract
the Intel provided firmware archive in /system/data/firmware/ipw2100/ with out
the need of any renaming.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35157 a95241bf-73f2-0310-859d-f6bbb57e9c96
Colin Günther [Tue, 19 Jan 2010 09:08:52 +0000 (19 09:08 +0000)]
* Changing the naming scheme for firmwares. Instead of directly renaming
the respective firmware files renaming is now done within the firmware loader.
The mapping of original firmware names to FreeBSD internal firmware names is
now done within driver specific settings files. Those are committed in a next
step.
This approach allows a clean separation of FreeBSD compat layer requirements
and native driver requirements.
For example: we have two Intel PRO/Wireless 2100 drivers. Do we prefer the
naming scheme of the native driver or do we force the native driver to use
the one of the FreeBSD driver? With this commit we prefer native over FreeBSD.
* Changed the firmware loader to make use of Haiku's file mapping facility.
* Implementing firmware unloading.
* Some minor cleanups in two compat layer header files, which are using Haiku
defined identifiers, where apropriate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35156 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 08:34:14 +0000 (19 08:34 +0000)]
vm_page no longer points directly to its containing cache, but rather to a
VMCacheRef object which points to the cache. This allows to optimize
VMCache::MoveAllPages(), since it no longer needs to iterate over all pages
to adjust their cache pointer. It can simple swap the cache refs of the two
caches instead.
Reduces the total -j8 Haiku image build time only marginally. The kernel time
drops almost 10%, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35155 a95241bf-73f2-0310-859d-f6bbb57e9c96
Michael Lotz [Tue, 19 Jan 2010 04:31:35 +0000 (19 04:31 +0000)]
anevilyak+mmlr:
accept() is supposed to return B_WOULD_BLOCK when SO_NONBLOCK is set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35154 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 03:02:11 +0000 (19 03:02 +0000)]
* VMCache: Added a UserData attribute which can be used by the lock holder.
* Added "bool consumerLocked" parameter to VMCache::Unlock() and
ReleaseRefAndUnlock(). Since Unlock() may cause the cache to be merged with
a consumer cache, the flag is needed to prevent a deadlock in case the
caller still holds a lock to the consumer. Hasn't been a problem yet, since
that situation never occurred.
* VMCacheChainLocker: Reversed unlocking order to bottom-up. The other
direction could cause a deadlock in case caches would be merged, since the
locking order would be reversed. The way VMCacheChainLocker was used this
didn't happen, though.
* fault_get_page(): While copying a page from a lower cache to the top cache,
we do now unlock all caches but the top one, so we don't unnecessarily
kill concurrency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35153 a95241bf-73f2-0310-859d-f6bbb57e9c96
Michael Lotz [Tue, 19 Jan 2010 02:41:06 +0000 (19 02:41 +0000)]
The default for deleteWhenUnreferenced changed between the Referencable of the
old userlandfs and the BReferenceable now in use by netfs. So better explicitly
set that to avoid nasty surprises (like crashes left and right).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35152 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 02:39:03 +0000 (19 02:39 +0000)]
Patch by Matt Madia: Use "set -o errexit" to error out when a command failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35151 a95241bf-73f2-0310-859d-f6bbb57e9c96
Ingo Weinhold [Tue, 19 Jan 2010 02:35:43 +0000 (19 02:35 +0000)]
Corrected spelling of Samuel's surnames.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35150 a95241bf-73f2-0310-859d-f6bbb57e9c96
Michael Lotz [Mon, 18 Jan 2010 23:57:38 +0000 (18 23:57 +0000)]
The node parameter is a void ** but these calls expect the void * to the node we
got as a result from read_vnode. The joys of void pointers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35149 a95241bf-73f2-0310-859d-f6bbb57e9c96
Niels Sascha Reedijk [Mon, 18 Jan 2010 23:14:46 +0000 (18 23:14 +0000)]
Update the SupportDefs documentation for several changes and document the atomic_* functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35148 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Mon, 18 Jan 2010 22:49:33 +0000 (18 22:49 +0000)]
BFS needs to also allocate a file cache when dealing with a long symlink inode. Fixes ticket #5282.
Axel and/or Ingo, please review.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35147 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Mon, 18 Jan 2010 22:32:57 +0000 (18 22:32 +0000)]
I thought afterwards the stub can still be useful to run R5 C only binaries on a GCC4 Haiku. It might be better placed in the arch folder though.
Also fixed a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35146 a95241bf-73f2-0310-859d-f6bbb57e9c96
Adrien Destugues [Mon, 18 Jan 2010 21:52:30 +0000 (18 21:52 +0000)]
DeadYak over IRC:
-Fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35145 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Mon, 18 Jan 2010 20:41:22 +0000 (18 20:41 +0000)]
* Fix missing colon.
* Use sentence case in PrimaryPartitionEditor.
* Fixed double spacing in InitializeBFSEditor view. Since we are going
to embed it anyway, don't put some extra spacing arround it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35144 a95241bf-73f2-0310-859d-f6bbb57e9c96
Adrien Destugues [Mon, 18 Jan 2010 20:12:48 +0000 (18 20:12 +0000)]
- Fix style and bugs in the davicom driver
- Also remove and add some debug output to try to spot the problem without getting flooded with too much messages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35143 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Mon, 18 Jan 2010 17:58:38 +0000 (18 17:58 +0000)]
* Rename _thread_do_exit_notification() to _thread_do_exit_work() as suggested by Ingo.
Also added an empty stub for _thread_do_exit_notification() when compiling for GCC2.
* Removed the check testing if the thread is already dead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35142 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Mon, 18 Jan 2010 08:52:42 +0000 (18 08:52 +0000)]
Now that the speed is displayed right away, increase the number of slots for
calculating the average speed to get a more stable value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35141 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Mon, 18 Jan 2010 08:44:18 +0000 (18 08:44 +0000)]
Applied patch by "vegardw":
* Fix order of Source/Destination buttons in Expander after porting the UI
to use layout management.
Fixes #5283. Thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35140 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Mon, 18 Jan 2010 00:14:40 +0000 (18 00:14 +0000)]
* Fix can't cut and drag a piece of picture from ShowImage to Desktop, ticket #4874.
* Set the current image mime as first in the translators list, thus on drag&drop with
left mouse button the same image type is created as the currently loaded in ShowImage.
Still this does more hide than fix the real problem, beeing ICO translator the first in
the generated translator list due to the high capabilitys values and a limited set of
output sizes it can handle. I attached a further fix to the ticket, still i would like
to get some other opinions on it before commiting.
By default the transla
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35139 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Sun, 17 Jan 2010 22:51:24 +0000 (17 22:51 +0000)]
[Pulse] More compact display of the dragger in replicants. (follow-up of #4244)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35138 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 21:35:42 +0000 (17 21:35 +0000)]
Employ a similar naming abstraction for the desktop as has been done for Trash to allow that name to be localized visually later (same on-disk location though).
SlowContextPopup also needed to be adjusted to account for trash's new location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35137 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 21:02:50 +0000 (17 21:02 +0000)]
Implement showing the estimated time to finish a file process. It will toggle
automatically between showing amount copied + speed and estimated finish time
+ time left. It could be implemented to toggle on mouse click, but then it would
be a hidden feature. Comments welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35136 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 20:47:28 +0000 (17 20:47 +0000)]
Update find_directory to use a lowercase path for the on-disk trash location like more or less all other system dirs. Should be the last of the trash changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35135 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 20:07:30 +0000 (17 20:07 +0000)]
Missed a few instances in the previous cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35134 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Sun, 17 Jan 2010 20:05:01 +0000 (17 20:05 +0000)]
* Revert the reverse the addons iteration of r35121.
* The media_addon_server before unloading addons need to be sure the nodes are deleted.
For instance, applications could keep references on global nodes, thus preventing deletion.
To release all references, the media_addon server uses a new method BMediaRosterEx::ReleaseNodeAll().
* Quit the MediaRoster looper when quitting media_addon server before unloading addons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35133 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 19:58:46 +0000 (17 19:58 +0000)]
Model: Add accessor for Trash node property and cleanup spacing between inlines.
Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35132 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 19:47:22 +0000 (17 19:47 +0000)]
Change the algorithm that calculates the average copy speed, so it begins to
display much earlier (two seconds).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35131 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 19:18:31 +0000 (17 19:18 +0000)]
Update the new mail notification add-on's name to match the sentence case changes. Should fix ticket #5257. MDR's account add-on chain format should probably be modified to not be so dependent on the actual name of the add-on as opposed to some alternate UID though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35130 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 18:40:25 +0000 (17 18:40 +0000)]
Implemented display of current size/total size copied and current copy speed.
It will begin to play after a short time (10 seconds). Estimated finish time
is still a TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35129 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 18:39:05 +0000 (17 18:39 +0000)]
Copy and paste bugs prevented the copy progress bar to function properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35128 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 18:27:21 +0000 (17 18:27 +0000)]
Fix error spotted by Adrien: don't return Trash name for anonymous volumes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35127 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 18:12:39 +0000 (17 18:12 +0000)]
Add a special node type for the Trash analogous to the one used for the root dir. This allows the model to return an arbitrary name not directly tied to the on-disk name for the Trash directory, which a) makes it localizable in the future, and b) means it's not tied to the on-disk name, which removes the requirement that the Trash dir name be uppercase on disk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35126 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 17:35:06 +0000 (17 17:35 +0000)]
Overlooked this with my previous Trash-related changes: updated NavMenu to be
behaviorally in sync - it now hides the root volume Trash dir like PoseView,
and adds the Trash entry as needed when navigating down the Desktop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35125 a95241bf-73f2-0310-859d-f6bbb57e9c96
Oliver Ruiz Dorantes [Sun, 17 Jan 2010 17:23:48 +0000 (17 17:23 +0000)]
Update bluetooth optional package
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35124 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Sun, 17 Jan 2010 17:13:04 +0000 (17 17:13 +0000)]
* Fixes ticket #4913.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35123 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Sun, 17 Jan 2010 17:00:08 +0000 (17 17:00 +0000)]
[Expander]:
* Use be_fixed_font in the Show Content TextView (fixes ticket #5272).
* Minor cleanup in ExpanderThread.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35122 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Sun, 17 Jan 2010 16:51:06 +0000 (17 16:51 +0000)]
* we release nodes which were instantiated or autostarted.
* I had to reverse the addons iteration when quitting, the mixer wasn't releasing correctly if released last.
* use IncrementAddonFlavorInstancesCount on autostarted flavors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35121 a95241bf-73f2-0310-859d-f6bbb57e9c96
Karsten Heimrich [Sun, 17 Jan 2010 16:45:43 +0000 (17 16:45 +0000)]
*Fixes ticket #4415.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35120 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Sun, 17 Jan 2010 16:43:03 +0000 (17 16:43 +0000)]
* also prints out the node ref_count on Dump()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35119 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 16:35:40 +0000 (17 16:35 +0000)]
Cleaned up legacy icon mappings and add some missing resource definitions to
TrackerIcons.h. Also removed the setup for the folder icon mimetype in
TrackerInitialState, as it was using a non-existent resource ID to do so with.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35118 a95241bf-73f2-0310-859d-f6bbb57e9c96
Oliver Ruiz Dorantes [Sun, 17 Jan 2010 15:46:36 +0000 (17 15:46 +0000)]
- Move bluetooth net_device module to a independent module HCI, remake API interfaces
- Move functionality for assembling ACL/events packets of the driver to this module
- Move h2generic driver to c++ (not style)
- Pass checkstyle.py to all commited files.
Fixes:
- Wrong condition for finishing l2cap packet segmentation.
- Place NetBuffersPrependers in a inner scope to avoid Sycing twice in destructor.
- Avoid keeping trace of l2cap responses of any other kind of thread.
- Do not free net_buffers of for Frame containers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35117 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Sun, 17 Jan 2010 15:29:04 +0000 (17 15:29 +0000)]
Make sure the Replicant PopUpMenu says "About Pulse..." rather than "About CPUButton...". (Follow-up of #4244).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35116 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 13:32:06 +0000 (17 13:32 +0000)]
Further cleanup of TrackerLoopControl. gStatusWindow is now nowhere used anymore
except inside TrackerLoopControl. The only expected change of behavior is when
trying to copy something onto a read-only volume. AFAICS, it would previously
prompt an alert and not already show the status window. Now it will show the
status window and prompt an alert, like in all the other situations when the
operation would be stopped before it even started by an alert. I was able to
remove quite a few code duplications along the way. CopyLoopControl can be
instantiated by itself and provides default implementations which could in turn
be removed from TrackerLoopControl.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35115 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Sun, 17 Jan 2010 12:51:31 +0000 (17 12:51 +0000)]
style clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35114 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 12:16:22 +0000 (17 12:16 +0000)]
* 80 chars/line limit cleanup
* Fixed one more occurance of "dos" filesystem check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35113 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan Aßmus [Sun, 17 Jan 2010 12:15:50 +0000 (17 12:15 +0000)]
When an error occurs to incrase the node monitor limit, reset the current
value and don't keep it at the value we wanted it increased to.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35112 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Sun, 17 Jan 2010 08:48:51 +0000 (17 08:48 +0000)]
Fix gcc4 build error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35111 a95241bf-73f2-0310-859d-f6bbb57e9c96
Philippe Saint-Pierre [Sun, 17 Jan 2010 05:12:09 +0000 (17 05:12 +0000)]
Pulse : Couldn't close Pulse CPUButton replicants
* It nows leave enough room to display the dragger into the replicant in most
cases...
* ...excepts in deskbar. Then it instead allows you to right click to
access a popup menu allowing you to close the replicant.
The dragger isn't shown due to space constraints.
Fixing ticket #4244.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35110 a95241bf-73f2-0310-859d-f6bbb57e9c96
Rene Gollent [Sun, 17 Jan 2010 00:21:42 +0000 (17 00:21 +0000)]
Update Installer's empty volume check to work with the new trash
directory locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35109 a95241bf-73f2-0310-859d-f6bbb57e9c96
Oliver Tappe [Sat, 16 Jan 2010 22:33:49 +0000 (16 22:33 +0000)]
* added all (virtual) qt-creator project files to svn:ignore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35108 a95241bf-73f2-0310-859d-f6bbb57e9c96
Oliver Tappe [Sat, 16 Jan 2010 22:21:39 +0000 (16 22:21 +0000)]
* improved create_project_files.pl to automatically add the created qt-creator
project files to svn:ignore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35107 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jérôme Duval [Sat, 16 Jan 2010 19:33:34 +0000 (16 19:33 +0000)]
forgot to add prototypes for pthread_getschedparam and pthread_setschedparam(), sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35106 a95241bf-73f2-0310-859d-f6bbb57e9c96