* a vm_cache now maintains a list of its "consumer" caches.
* introduced to new functions that add/remove consumer to a cache (instead
of only maintaining the vm_cache::source field).
* fixed the incorrect reference counting when doing copy-on-write; we kept
one ref too many of the lower cache.
* minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19035 a95241bf-73f2-0310-859d-f6bbb57e9c96
The printer transport add-ons and drivers are missing yet, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19023 a95241bf-73f2-0310-859d-f6bbb57e9c96
this closes ticket #811.
* Added notification support to IPv4 and UDP.
* Implemented reading out SO_ERROR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19017 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also added libbnetapi.so and libnetapi.so to the R5 compatibility evaluation score.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19016 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a link from libbnetapi.so to libnetapi.so. We might think about moving
libnetapi.so into libnetwork.so as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19014 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed R5 socket definitions to match their actual definitions.
* libnetwork.so now detects at runtime wether or not R5 compatibility should be
enabled or not.
* All socket functions should now be R5 net_server compatible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19012 a95241bf-73f2-0310-859d-f6bbb57e9c96
be used to determine wether or not the executable was linked for/under Haiku or
not (ie. BeOS).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19011 a95241bf-73f2-0310-859d-f6bbb57e9c96
to determine linkage of libnet.so vs. libsocket.so/libbind.so in the libnetwork.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19008 a95241bf-73f2-0310-859d-f6bbb57e9c96
Haiku image) revealed a problem with that change:
* If the root node only contained a single entry it was freed instead of just making
it a leaf node - that could produce an invalid b+tree (could only happen with
attribute or index trees, as directories always contain '.' and '..').
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19006 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also added a 1270x720 HDTV resolution (was accidently part of the previous commit).
Both changes courtesy of Doug Shelton.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19003 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore; maybe we should even introduce a minimal partition size).
This fixes bug #882.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19000 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When removing the last key from a leaf node, the node wasn't freed, but just
emptied, and thus the whole tree structure would never combast.
* This could also cause a bug in the TreeIterator: if the last entry was not
in the last node, every second readdir() after the last one would return
the last entry again. I only found this because that happens to be what
Tracker does (which would run in an endless loop while scanning the directory
then).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18992 a95241bf-73f2-0310-859d-f6bbb57e9c96
to fit into the session - this should help bug #238 to disappear.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18988 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I forgot to mention it before, but this driver seems to have been written
by Erdi Chen.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18979 a95241bf-73f2-0310-859d-f6bbb57e9c96
under Haiku, though. If someone has access to this card, feel free to fix this :-)
I renamed the driver to s3savage (from BeSavage), and added the license text
separately (dunno if that's really needed, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18978 a95241bf-73f2-0310-859d-f6bbb57e9c96
stuff of the boot loader to help with bug #238.
* Minor cleanup (added license headers, fixed debug output)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18977 a95241bf-73f2-0310-859d-f6bbb57e9c96
This also fixes the issue of exporting a C++ API from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18974 a95241bf-73f2-0310-859d-f6bbb57e9c96
registrar or the input_server died, you didn't get any notification before.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18970 a95241bf-73f2-0310-859d-f6bbb57e9c96
drag rectangle - this fixes bug #596, as Cortex obviously relies on this.
* Added a comment on how dragging without a bitmap should be done (app_server should
directly support this without needing to drag real bitmaps).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18964 a95241bf-73f2-0310-859d-f6bbb57e9c96
would usually be one block too small - this fixes bug #659.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18955 a95241bf-73f2-0310-859d-f6bbb57e9c96
not written back before GetNextSmallData() was called (which let the region appear
empty even though it wasn't).
* I left the shortcut in case of the "name" attribute in there, because it should
be a bit faster.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18949 a95241bf-73f2-0310-859d-f6bbb57e9c96
BWindow::UpdateIfNeeded(); BPopUpMenu::Go() should be independent of this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18946 a95241bf-73f2-0310-859d-f6bbb57e9c96
of a team to avoid confusion. It now also accepts a NULL session pointer in
which case the actual group's session doesn't matter.
* Fixed the race condition in send_signal_etc() that could allow accessing an
invalid team pointer.
* Jerome's earlier change already fixed bug #841, and this also fixed bug #855.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18941 a95241bf-73f2-0310-859d-f6bbb57e9c96
the responsiveness of the GUI, and should also fix bug #742.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18821 a95241bf-73f2-0310-859d-f6bbb57e9c96
leading "mailto:" from any insertions (like from a clipboard pasting).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18742 a95241bf-73f2-0310-859d-f6bbb57e9c96
parameter during construction).
* Doing so will now result in a kernel panic whenever your file system tries to
write to a block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18719 a95241bf-73f2-0310-859d-f6bbb57e9c96
system was mounted read-only.
* bfs_rename() did not check the access privileges of the directories involved.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18718 a95241bf-73f2-0310-859d-f6bbb57e9c96
will now grab a reference to the vnode as well if successful. This way, vfs_get_vnode_cache()
now actually works how it should: it will now always grab a reference to the cache and
its underlying vnode. This removes an extra reference to the vnode (and vm_cache) that
got ignored before and prevented volumes to be unmounted (or file caches to be removed).
Thanks to Korli for pointing this out.
* file_cache_create() is now aware of that extra vnode reference and releases it; unmounting
volumes is now working again as it should.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18716 a95241bf-73f2-0310-859d-f6bbb57e9c96
bad characters, it will be rejected, at least after bug #675 has been fixed.
* In the future, we should use the same mechanism as the TextSnifferAddon of the
registrar; it would also be nice to use additional charset information (at least
differentiating between latin-1 and UTF-8).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18703 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Scancodes greater 255 are now handled correctly, and will no longer crash
the input_server. This fixes bug #830.
* Use new (std:nothrow) instead of a simple new
* Now checks all allocations and appropriately handle failure
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18694 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Cleanup, separated hook and driver functions from the rest.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18690 a95241bf-73f2-0310-859d-f6bbb57e9c96
of waiting threads by ID (instead of just the queue head and tail pointers).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18688 a95241bf-73f2-0310-859d-f6bbb57e9c96
(that was part of the problem of bug #702).
* Fixed send_signal_etc() when you called it with a pid_t of zero: the signals should
go to all teams in the calling team's group, not only to the team (for -1, we do
the same for now).
* Made team_get_process_group_locked() public, and rewrote send_signal_etc() to use
it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18684 a95241bf-73f2-0310-859d-f6bbb57e9c96
some signals could go to some group when a negative value was passed in.
This actually fixes bug #702 where SoundPlay obviously does a kill_thread(-1)
at the end (which accidently killed all userspace applications, including the
input_server, app_server, ...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18683 a95241bf-73f2-0310-859d-f6bbb57e9c96
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96
ie. if someone included net/socket.h he's doomed to change his sources).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18679 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed the DesktopSettings lock itself - it's not really needed at all,
and causes some trouble with a clean locking design. This may even have
fixed bug #757, at least I couldn't reproduce it anymore.
* There is now a class for read-only access that requires you to have locked
the desktop (either read or write).
* There is now another class LockedDesktopSettings that allows you to set
settings (and only that) - when you're changing the settings, you must not
have read locked the desktop (ie. hold the single window lock). The class
will obtain a write lock, but write locks can be nested.
* Moved SetWorkspacesCount() into the Desktop class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18646 a95241bf-73f2-0310-859d-f6bbb57e9c96
hash. This also allows them to stay valid after the group leader died when there are
other teams left in it. This closes bug #1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18622 a95241bf-73f2-0310-859d-f6bbb57e9c96
private BWindow::_StealMouseMessage() which makes sure only messages for the
preferred handler are stolen, and also, that nothing gets lost that shouldn't
get lost.
Also updates the fLastMouseMoved view in case the message is actually removed
due to GetMouse().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18601 a95241bf-73f2-0310-859d-f6bbb57e9c96
At least there is a pending bug in BView::GetMouse() that causes this restriction.
This fixes bug #762 for now (will do the part in GetMouse() next).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18597 a95241bf-73f2-0310-859d-f6bbb57e9c96
* EventDispatcher now adopts the cursor position from the HWInterface upon
assignment, so that even the initial cursor reports match the on screen
visuals.
* The message was never sent because "target" in Desktop::_SendFakeMouseMoved()
was never set.
* EventDispatcher::SendFakeMouseMoved() now accepts an EventTarget and no
longer a BMessenger (fits better to the rest of the API).
* EventDispatcher::SendFakeMouseMoved() now sends out the exit transit message
to the previous target directly (doesn't wait until the next actual mouse
move), and updates the previous target as well, so that scrolling now
works in that new window.
* This only partially fixes bug #762, though, as GetMouse() can still steal
this mouse message (BTextViews do that in WindowActivated()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18596 a95241bf-73f2-0310-859d-f6bbb57e9c96
the new workspace - this fixes bug #755. Unlike floating windows, they aren't
even redrawn :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18592 a95241bf-73f2-0310-859d-f6bbb57e9c96
ignored even if it was not visible on the previous workspace (only normal windows
can be moved this way).
This fixes bug #765.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18585 a95241bf-73f2-0310-859d-f6bbb57e9c96