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
BControlLook to draw its bottom border instead of using a BBox, and have the
parent move it around to make it somehow fit (or not).
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29913 a95241bf-73f2-0310-859d-f6bbb57e9c96
Sometimes it even seems to work :-)
* FrameResized() called _UpdateSize(), although DoLayout() already did so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29910 a95241bf-73f2-0310-859d-f6bbb57e9c96
network notifications.
* It also doesn't keep a socket open over the whole time which would prevent
the network stack to be unloaded.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29904 a95241bf-73f2-0310-859d-f6bbb57e9c96
be used everywhere.
* This also fixes a panic when deleting interfaces (an already deleted
lock was unlocked).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29902 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Cleaned up CannaLooper.cpp/h to mostly conform to our coding style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29897 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96