* Changed the rw_lock_{read,write}_unlock() return values to void. They
returned a value != B_OK only in case of user error and no-one checked them
anyway.
* Optimized rw_lock_read_[un]lock(). They are inline now and as long as
there's no contending write locker, they will only perform an atomic_add().
* Changed the semantics of nested locking after acquiring a write lock: Read
and write locks are counted separately, so read locks no longer implicitly
become write locks. This does e.g. make degrading a write lock to a read
lock by way of read_lock + write_unlock (as used in the VM) actually work.
These changes speed up the -j8 Haiku image build on my machine by a few
percent, but more interestingly they reduce the total kernel time by 25 %.
Apparently we get more contention on other locks, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34830 a95241bf-73f2-0310-859d-f6bbb57e9c96
values are not really useful, since they should only be != B_OK in case of
user error, and will be changed to void.
* Added tests for write lock to read lock degrading.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34829 a95241bf-73f2-0310-859d-f6bbb57e9c96
a driver which publishes a device as "/dev/kernel_unit_tests". Commands
can be issued by writing to the device (e.g.
"echo help > /dev/kernel_unit_tests"), output is written to serial port/
syslog.
* Added a few tests for rw_lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34827 a95241bf-73f2-0310-859d-f6bbb57e9c96
that shows that something is obviously broken right now (I fixed some coding
style violations, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34689 a95241bf-73f2-0310-859d-f6bbb57e9c96
as soon as a second thread got into the game: if a thread was notified that
a message is ready, another thread could call read_port() and steal it before
the previous thread could claim it. The "Extensions" menu still doesn't seem
to work, but I would guess that is unrelated.
* The threads of the test app never exited, as read_port() returns the number
of bytes it read, not just a status.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34681 a95241bf-73f2-0310-859d-f6bbb57e9c96
only allows top level partitions right now - support for child partitions
would require replacing read/write/seek/etc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34379 a95241bf-73f2-0310-859d-f6bbb57e9c96
Display size is still kept to 32x32.
M patchbay/Jamfile
M patchbay/EndpointInfo.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34357 a95241bf-73f2-0310-859d-f6bbb57e9c96
Single change from original: "using namespace std" was missing in PatchView.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34229 a95241bf-73f2-0310-859d-f6bbb57e9c96
In that case TermView computes rows and columns based on the frame size.
This also made simpler to attach a TermView to a given BWindow, like done
in the RepliTerminal test app. Changed Repliterminal accordingly.
Removed the bool parameter from SetTermSize(), and added a SetTermSize which
accept a BRect, as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34184 a95241bf-73f2-0310-859d-f6bbb57e9c96
posixtestsuite into our repository.
* A few of the latter ones actually fail on Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33776 a95241bf-73f2-0310-859d-f6bbb57e9c96
to avoid recurring problems during migration of subversion checkouts
(restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property
* dropped svn:eol-style property for cleanup (they all contained 'native')
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96
space was becoming tight. This actually fixes#4778.
* Fixed overflow problem in find_reserved_area().
* Cleaned up the test app, added license.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33597 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed StatusAddOn to InterfacesAddOn.
* Made the interfaces list a more self-contained InterfacesListView object
Now watch for network notifications, but does nothing yet with those.
* Small style changes (but still not compliant).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33212 a95241bf-73f2-0310-859d-f6bbb57e9c96
work to do, but it's about time to give this code more exposure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make all but DialupAddOn add-ons build.
Not that usefull though, as Services, Dummy and Multi add-ons are totally
useless. Status/Overview add-on show interface status, allow to change their
configuration like NetworkStatus replicant does.
But it doesn't watch (yet) for interface/link status change notifications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33161 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed code style (not the PPP part)
Updated it with the current Network Pref.
the PPP add-on don't work.
This should work as much as the Network Pref does today.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33155 a95241bf-73f2-0310-859d-f6bbb57e9c96
* A test app for it. I added a src/test/kits/shared folder as i found it was the
most logical place for it. Shake it up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32602 a95241bf-73f2-0310-859d-f6bbb57e9c96
make it work, one would need to use versioning for all libbe symbols. This is
worth an 8k price per file that links against libbe.so, so I didn't want to
commit this as is. An alternative to this solution would be to write a
separate application that is responsible for the app_server's window. Comments
welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
compatibility should be removed, but I don't want to make Alexandre more work
in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
developing them under BeOS, and is thus no longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
BDirectWindow, either in the kit or app_server part. Basically that
calculation overflowed, and the application drawn outside the frame
buffer. Freaky. I'm sure Chart suffers from a similar problem (ticket
#1939)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32316 a95241bf-73f2-0310-859d-f6bbb57e9c96
width and height were off by one, and ParticlesII was writing out of the
frame buffer. Some style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32231 a95241bf-73f2-0310-859d-f6bbb57e9c96
"now", and given expected results).
* Now only prints failures, unless you give a command argument (which just
enables verbose output).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32121 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The BView API can probably be regarded as good enough; the implementation
might need to be improved over time (also, some things as archivability
aren't fully implemented yet). The ToolTip.h header should get public once
finalized.
* Added new B_MOUSE_IDLE message that is sent to a BView after a certain
time has passed (BToolTipManager::ShowDelay()).
* Added small test app (ToolTipTest) that shows what is already working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32078 a95241bf-73f2-0310-859d-f6bbb57e9c96
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31791 a95241bf-73f2-0310-859d-f6bbb57e9c96
However, Inode::WriteAttribute() still has a number of problems when this is
actually used; contents could get lost when an attribute is moved from the
small data section to an attribute file, and the index might not be updated
correctly when you write within the first 256 bytes, but not at position 0.
Since these problems aren't exposed with how we're using BFS right now, it's
not that bad, though (Inode::WriteAttribute() supports everything correctly
that it had to under BeOS).
* Added test application for certain fs_attr functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31313 a95241bf-73f2-0310-859d-f6bbb57e9c96
As Olivier Coursière wrote in the ticket/Patch he did.
To install
copy the control panel application in the c:\windows\system32 directory
run "BeServerd.exe -install" from the command line to install BeServed as a Windows service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31240 a95241bf-73f2-0310-859d-f6bbb57e9c96
several problems in our wchar-support - the worst of which being that
our compilers define wchar_t as short while the glibc-implementation
is relying on it being 32-bits wide ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31180 a95241bf-73f2-0310-859d-f6bbb57e9c96