again, or else the port loses capacity.
* This fixes bug #2720.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30517 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Did claim to have reserved pages when calling vm_page_allocate_page(), but
didn't have any (copy&paste bug). We cannot use it without reserved pages,
as we need to call vm_page_allocate_page() with a cache locked.
* No longer use low_resource_state() to determine whether to precache or not,
but use the new vm_page_num_used_pages() instead.
* Also don't (try to) precache when the cache already has more than 2/3 of its
pages to safe some unnecessary work.
* The size to precache was limited to the file size incorrectly.
* When precaching failed, the cache reference was not released.
* The precaching started one page too late, causing bug #3835.
* Reenabled precaching.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30515 a95241bf-73f2-0310-859d-f6bbb57e9c96
with vm_cache_acquire_locked_page_cache().
* Added new function vm_page_num_unused_pages() which returns the pages that are
actually completely free and unused.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30514 a95241bf-73f2-0310-859d-f6bbb57e9c96
original version:
- removed the BFS bug work-around to create two temporary files first; this
work around is not needed in our BFS implementation.
- improved error output.
- remove attributes before rewriting them. This is needed as BFS won't update
the indices anymore if the attribute has not actually been changed.
- applied our coding style.
* This also fixes bug #3843.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30511 a95241bf-73f2-0310-859d-f6bbb57e9c96
socket could be acquired, ie. when its reference count is 0, it cannot be
acquired anymore. This requires the protocol to do proper locking, though.
* The TCP EndpointManager now checks the return value of acquire_socket(), and
only returns the endpoint if that succeeded.
* This fixes bug #2197.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30363 a95241bf-73f2-0310-859d-f6bbb57e9c96
than planned. Now, it always adds 10% to the max file/dir count unil 50% is
reached.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30361 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a remove_dirs() that can reliably clean up the mess afterwards.
* Added option -b to set an alternative base dir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30329 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added argument -c|--check-interval to determine how often the file contents
are checked.
* Added some statistics.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30325 a95241bf-73f2-0310-859d-f6bbb57e9c96
be in host endian order.
* Adapted ipv4 code that automatically finds a netmask to this change.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30299 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The previous code would have scheduled a single page to be written out (if it
would have ever been triggered), now we schedule the complete previous write
access. This greatly speeds up a "dd if=/dev/zero of=test ..." beyond the
size of available memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30276 a95241bf-73f2-0310-859d-f6bbb57e9c96
potentially deadlocks as described in bug #3768. The system is still
completely unresponsive, but gets back to a working state after some time now.
* Since the rw_lock is public, Transaction and InodeReadLocker no longer need to
be friends with Inode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30221 a95241bf-73f2-0310-859d-f6bbb57e9c96
pointed out, there is also an unsolvable race condition with BFS that other
file systems should share.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30204 a95241bf-73f2-0310-859d-f6bbb57e9c96
this seemed to be a good idea, there is one race condition that cannot be
solved otherwise (the vnode must be added/removed to that list while holding
the transaction lock, and we cannot guarantee that in the VFS).
* We are using an unused area of the in-memory bfs_inode to store the list
links (bfs_inode::pad - this will also work on 64 bit platforms).
* Inode no longer adds a singly linked list link - the transaction list now
shares the doubly linked list with the removed vnodes list.
* Added an in-memory flag INODE_IN_TRANSACTION to avoid searching an inode
to be added in the list.
* Removing an attribute directory did not hold its write lock.
* If removing an attribute failed for some reason, the INODE_DELETED flag
was not removed (the transaction would not have failed because of that).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30203 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added but commented out adding/removing chains to its family: this would allow
the stack to unload protocol modules as soon as they are no longer needed.
However, it currently does not work yet (double lock, we need a recursive lock
here to allow this).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30199 a95241bf-73f2-0310-859d-f6bbb57e9c96
as long as the stack is loaded.
* This fixes another regression from moving the socket API into the kernel.
* Thanks to Romain for reporting this!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30198 a95241bf-73f2-0310-859d-f6bbb57e9c96
to hang when entering KDL, after having unloaded the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30197 a95241bf-73f2-0310-859d-f6bbb57e9c96
unload the network stack. This now works again, although I didn't manage to
do it without another lock.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30196 a95241bf-73f2-0310-859d-f6bbb57e9c96
sSocketList or not (to see if it has to be removed when the socket is
deleted).
* This fixes the bug reported by Romain when trying to open an unsupported
protocol (like AF_INET6). Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30188 a95241bf-73f2-0310-859d-f6bbb57e9c96
* arp_update_local() was called without holding the sCacheLock, but did not take
care about locking either. Now the caller has to lock.
* Updating the local ARP entry is now done while holding the sCacheLock the
whole time, thus it's now atomic to the outside.
* Fixed a potential deadlock: the arp_entry destructor must not be called with
the sCacheLock being held as long as there is a potential timer running.
* Fixed a potential double delete in case the arp_entry destructor was called
with a pending ARP_STATE_REMOVE_FAILED or ARP_STATE_STALE. Now, we set the
new flag ARP_FLAG_REMOVED to check for that condition (it's now set when an
entry is removed from the hash).
* arp_start_resolve() would leak non-functional ARP entries around when
something went wrong during the initialization. It will now remove them via
their timer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30167 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This fixes a crashing bug that could be triggered when switching IP addresses
often.
* Also added a TODO about another possible crashing problem I won't look into
today anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30165 a95241bf-73f2-0310-859d-f6bbb57e9c96
however, it's still used in the write part.
* Made the read-only code block size agnostic. Only tested with an Apple
iPod so far, and it recognizes its partition fine now. Next test on real
hardware.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30155 a95241bf-73f2-0310-859d-f6bbb57e9c96
PartitionTable*; the sector is not really a sector, but only the first
512 bytes of it.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30154 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Refactored PkgItem classes, and pulled out a PackageItem base class. Renamed
other classes to Package*.
* The ItemExists() method should really get a "Apply this choice to all files"
kind of option...
* Style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30125 a95241bf-73f2-0310-859d-f6bbb57e9c96
data. This is available when BLOCK_CACHE_BLOCK_TRACING is 2 or greater.
* Completely untested as of now, though. Will do so soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30104 a95241bf-73f2-0310-859d-f6bbb57e9c96
union).
* This fixes a crash on restart that has been revealed by Oco's change to the
reboot process.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30085 a95241bf-73f2-0310-859d-f6bbb57e9c96
the slider position was updated, not the actual volume.
* Use InvokeNotify() for wheel changes so that we correctly notify listeners.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30084 a95241bf-73f2-0310-859d-f6bbb57e9c96
and change its slider value when such a message arrives.
* Currently, this will only work if such a view already received a message;
added a TODO about how it should be done, but since those would require
some more changes, I don't want to do that as long as Sean Healy is working
on that file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30083 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Turned on extra check on allocation when KDEBUG is set.
* The "bfs" KDL command now also prints the block bitmap block for the
specified block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30079 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Changed some members to be part of the NotificationManager instead of
allocated objects.
* Use BAutolock where appropriate.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30077 a95241bf-73f2-0310-859d-f6bbb57e9c96
removed it from the public namespace, and made it only visible when linking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30071 a95241bf-73f2-0310-859d-f6bbb57e9c96
for binary compatibility).
* Always round the bar thickness, or we get drawing artefacts.
* Cleaned up the header following our coding style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30070 a95241bf-73f2-0310-859d-f6bbb57e9c96
running. Thanks! That's just another thing we should improve in R2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30062 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The node is no longer allocated separately.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30060 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed the BParameterWeb::{Start|Stop}Watching() methods again, as the same
thing can be achieved using the BMediaRoster already (even though it doesn't
seem to work yet).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30058 a95241bf-73f2-0310-859d-f6bbb57e9c96
as on Dano - since the functionality is already there, those two functions
aren't really needed, though, so we could remove them again.
* Cleaned up DataExchange.h, and added basic reply/request structs for anything
that needs an area.
* BControllable now uses a helper class ReceiveTransfer to deal with requests
with areas.
* Major style cleanup of MediaRoster.cpp, though one could still bury some
hours there...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30045 a95241bf-73f2-0310-859d-f6bbb57e9c96
VolumeSlider to VolumeWindow.
* The VolumeControl is now a replicant, and be be dragged to the Tracker.
* Hence, moved all volume control stuff from VolumeWindow into the
VolumeControl class directly.
* Changed menu a bit. Note that controlling the physical output currently
does not work, but that's a problem of the media node in question (probably
the multi audio add-on, I'll have a look).
* Added a small delay when clicking on the slider directly before the window
is hidden, so that you'll get some feedback of your action.
* Added --add-volume, and --volume-control options to "desklink", the former
adds the volume control icon to the deskbar, the latter opens the volume
control window directly.
* Further cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30031 a95241bf-73f2-0310-859d-f6bbb57e9c96
stubs.
* However, without a working Dano at hand, I can't really implement something
compatible, so I'll postpone this to some later point.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30030 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Adapted and cleaned up ParameterWeb.cpp.
* Fixed some copy&paste bugs in the BTextParameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30029 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The alert escape check was broken in several ways. First of all, the buttons
can be NULL which suddenly crashed apps. Second of all, the check didn't even
work as it was reversed.
* Also, I disabled the code for now, as I really don't think string comparison
heuristics are the way to solve this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30018 a95241bf-73f2-0310-859d-f6bbb57e9c96
such that all channels are affected.
* This fixes the "setvolume" command under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30013 a95241bf-73f2-0310-859d-f6bbb57e9c96
fixed size, didn't follow our coding style, etc.
* I did not remove the back-end code in the StyledEditView, though (nor did I
had a look at it for coding style violations :-)).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30006 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This fixes the problem when a socket changes something with regards to its
parent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30000 a95241bf-73f2-0310-859d-f6bbb57e9c96
better, though :-)
* Also fixed a mixup of the unintuitive argument order of our
atomic_test_and_set(); I guess I will change that sooner or later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29994 a95241bf-73f2-0310-859d-f6bbb57e9c96
only a single pending connection to be accepted at once.
* Fixed discarding endpoints that still had a parent, but were closed before
they could be accepted (or even established). Previously, these were never
deleted, slowly filling up the socket's backlog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29987 a95241bf-73f2-0310-859d-f6bbb57e9c96
added a potentially dangerous TODO, though (will look into this tomorrow).
* Improved output of the KDL command, and also include the child sockets in the
list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29986 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed DoublyLinkedList::Size() to Count(), since it actually counts the
items (ie. O(n)).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29979 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed drawing problem when adding a new source, and the draw happened before
a new value came in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29951 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be interpolated everytime. This class also makes sure that the values are
always from the same offsets, so the flickering is gone.
* Need to use SetMouseEventMask() or else the mouse up will be ignored when
changing the resolution via dragging the mouse.
* Fixed a bug that prevented the DataHistory data interpolation from working
correctly.
* The refresh threads are now working at B_URGENT_DISPLAY_PRIORITY, making the
view updates much more stable with less jitter.
* Removed the draw refresh, and have it always be the same as the value
refresh.
* Added lower refresh intervals (25, and 75 ms).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29950 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I noticed a bit too late that we usually have lower caps folder in our
repository. Well, if someone complains enough... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29942 a95241bf-73f2-0310-859d-f6bbb57e9c96
as BeOS on the right side (that is, switching control and option key), but
switch control and command there as well.
* As a consequence, the Alt-Gr key will stay where it is when switching the
shortcuts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29929 a95241bf-73f2-0310-859d-f6bbb57e9c96
* There was one incorrect check in BufferQueue::Get() that happened because
the wrong operator was used due to the uint32 cast operator.
* Consequently, we removed the uint32 cast operator, and changed the code
to deal with this. Fortunately, no other bugs were observed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29928 a95241bf-73f2-0310-859d-f6bbb57e9c96
each time you load a new layout).
* Fixed the IBM laptop keyboard layout.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29923 a95241bf-73f2-0310-859d-f6bbb57e9c96
wrong view since I added offscreen drawing.
* Added a description of the keyboard layout language; it's unlikely to
undergo much changes anymore now.
* Added a few comments for stippi :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29921 a95241bf-73f2-0310-859d-f6bbb57e9c96