use the index of the first page of the allocation as an id. This removes the
need for separate id generation. This also fixes the possible problem of
multiple large allocations getting the same allocation_id (due to the limited
range of possible ids), which in the worst case (i.e. for adjacent allocations)
could cause pages to be freed that were still in use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24405 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed various warnings with GCC4 due to the double sHaikuRevision line.
* Turned system_info.c to a C++ file.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24404 a95241bf-73f2-0310-859d-f6bbb57e9c96
of the blocks in the log entry will be checked, and only if this passed,
all log entries are written back together; if the whole run array contained
bad data, it's no longer written to disk at all if it's detectable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24402 a95241bf-73f2-0310-859d-f6bbb57e9c96
entries, even though many more could fit in the blog. This fixes mounting
a dirty (original-)BFS volume with a block size larger than 1024 bytes,
and probably vice versa.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24401 a95241bf-73f2-0310-859d-f6bbb57e9c96
number. Was a problem only for partitions > 2^32 * block size (4TB
for 1KB blocks).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24393 a95241bf-73f2-0310-859d-f6bbb57e9c96
replicant as well.
* Added a context menu that allows you to change how Workspaces looks
and behaves (previously accessible only using command line options).
* The settings changes are now remembered; we're now using a new
settings file (flattened BMessage), but can still read old settings
files if it exists.
* Renamed WorkspacesPreferences to WorkspacesSettings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24389 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The view must be a follow all view since the workspaces are handled
differently.
* No longer needs to use kWorkspacesWindowFlag; this makes it no longer
work on BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24387 a95241bf-73f2-0310-859d-f6bbb57e9c96
from the call to vfs_get_vnode() now. Only this way it is safe to call
store_release_ref() later (as the page writer does). We had a potential
race condition -- if called after vm_cache_remove_consumer() had
released the last reference, the old vnode might already have been
deleted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24386 a95241bf-73f2-0310-859d-f6bbb57e9c96
Move implementation from LocalDevice for retrieving the BluetoothServer Messenger
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24385 a95241bf-73f2-0310-859d-f6bbb57e9c96
FreeBSD driver is doing.
* hda_codec_new_audio_group() did not free the audio group's widgets on
failure.
* No longer create the input stream for now.
* Reworked multiaudio-support to work regardless if there is only a playback
or record stream.
* With these changes, I hear nothing on my laptop anymore (before there was
noise), but on another system, I can finally hear something that sounds very
much like the sinus wave the multi_audio_test application produces; the
sound quality is pretty bad though (lots of periodical noise and glitches).
* Made B_MULTI_GET_DESCRIPTION safe to be called from userland.
* Minor other cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24383 a95241bf-73f2-0310-859d-f6bbb57e9c96
one gets overwritten; if the log contains invalid data, it will no longer
render the whole disk unreadable. This should have helped to prevent bug #1911
(but of course the problem that there is invalid data in the log in the first
place remains).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24381 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Move Messages id to a private header
* New constructor for RemoteDevice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24376 a95241bf-73f2-0310-859d-f6bbb57e9c96
thread_yield() calls make reseed() really slow in a busy system, since
another thread will exhausts its full quantum between two thread_yield()
calls. And 257 * 8 * 8 quanta are about 49s.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24375 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Thus, remove it and link against the version in src/lib/expat instead
* Exporting/Importing MediaNode configuration works fluently still...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24373 a95241bf-73f2-0310-859d-f6bbb57e9c96
and an invalid desktop message port...
* Desktop::Init() now checks if VirtualScreen::fHWInterface is valid, and exits
if not. This can happen if you don't have a graphics driver, and turn on on-screen
debug mode in the boot loader (such that you already see the messages from the
boot loader).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24371 a95241bf-73f2-0310-859d-f6bbb57e9c96
Check for memory allocation errors.
Added limit to maximum flavor format count (300).
No longer crashes when out_format_count is invalid for B_BUFFER_CONSUMER,
or in_format_count is invalid for B_BUFFER_PRODUCER.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24366 a95241bf-73f2-0310-859d-f6bbb57e9c96
%edx) was trashed before passing it to the user debugger. strace shows
the correct return values again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24364 a95241bf-73f2-0310-859d-f6bbb57e9c96
only gets the caller into trouble, since then another signal should be
sent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24363 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use a member variable for the input media_format
Thx to Ingo for pointing this out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24362 a95241bf-73f2-0310-859d-f6bbb57e9c96
to take the current effective drawing region of the view, but converted to
local coordinate space. Untested as of yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24361 a95241bf-73f2-0310-859d-f6bbb57e9c96
* More generic supported parameter support, respect the
AUDIO_CAP_AMPLIFIER_OVERRIDE, and AUDIO_CAP_FORMAT_OVERRIDE bits.
* More cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24360 a95241bf-73f2-0310-859d-f6bbb57e9c96
structure. They are properly inherited and updated on
fork(), load_image(), and exec().
* Implemented the get[e]{u,g}id(), set[[r]e]{u,g}id() family for real.
* getgroups() also calls the kernel now, but only returns the effective
group ID. Supplementary groups support is still missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24359 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Extended it to support long format as well.
* Extended it to support ranges of widgets (I didn't find those in the standard,
but the FreeBSD and Linux drivers implement them, and my laptop even makes
use of them, too).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24357 a95241bf-73f2-0310-859d-f6bbb57e9c96