message correctly, it is a bit strange why the message should not follow
protocol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25499 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added [un]publish_device() calls to the device manager.
* added a very basic devfs emulation to the playground to be able to test how
the manager reacts to opened devices.
* renamed *_device() functions to *_node() in the device manager API.
* made B_DEVICE_FIND_CHILD_FLAGS a generic flags field, and renamed it to
B_DEVICE_FLAGS.
* added support for keeping a driver loaded as long as its device is available.
* implemented get_next_child_node().
* added test for device removal, and implemented unregister_node() for this.
* fixed some bugs in the device node reference/initialization count maintenance.
* moved more code from register_node() to device_node::Register().
* initialize the device_node::fFlags member to the value of B_DEVICE_FLAGS, and
have additional private flags.
* renamed UninitUnusedChildren() to UninitUnusedDriver(), and fixed this
function by adding the new flag NODE_FLAG_REGISTER_INITIALIZED.
* Now remembers the support when a driver is registered - this will be used
later to be able to compare with a new driver without having to call
supports_device() again.
* Removed NODE_FLAG_REMOVE_ON_UNINIT again, as that was pretty stupid - there
is reference counting for a reason.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25498 a95241bf-73f2-0310-859d-f6bbb57e9c96
are NULL pointers anyway, we just adjust argc.
* Made argv processing more safe, it will now check if the allocation of the
argv array succeeded in the first place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25496 a95241bf-73f2-0310-859d-f6bbb57e9c96
properly credit James Woodcock, who debugged this problem and whom I forgot
to mention in my previous commit. Sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25495 a95241bf-73f2-0310-859d-f6bbb57e9c96
_ArgvReceived(), the array elements still need to be set to NULL otherwise
the function will free() random pointers at the end.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25494 a95241bf-73f2-0310-859d-f6bbb57e9c96
Shinta, if you can give me your full name, I would like to add you too :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25492 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a new command line utility "mkfs" which can initialize a given volume
with a file system by it's short name via the new Disk Device API.
Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25491 a95241bf-73f2-0310-859d-f6bbb57e9c96
the internal enumaration for GetNextDiskSystem(). The compiler spotted that
one actually... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25490 a95241bf-73f2-0310-859d-f6bbb57e9c96
- fix build (at least CodyCam), NETAPI lib is now libnetapi for Haiku...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25488 a95241bf-73f2-0310-859d-f6bbb57e9c96
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The built-in services are no longer added as resource to libnetwork,
but as attribute. This removes the libbe dependency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25485 a95241bf-73f2-0310-859d-f6bbb57e9c96
particularly efficient.
* pthread_mutex implementation:
- Removed the pthread_mutex_t indirection (the type was a pointer to
the actual structure which was allocated on the heap), as it made
sharing the mutex between processes impossible.
- Removed the distinction between process shared and non-shared
mutexes. Benaphores work just as well in shared memory, so we always
use them.
* Fixed some static initializer macros. PTHREAD_COND_INITIALIZER is
still broken, since it doesn't work in C code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25481 a95241bf-73f2-0310-859d-f6bbb57e9c96
(including any drag bitmap). HWInterface::HideFloatingOverlays() was plain
stupid, I know it did check double buffering at one point, but I must have
removed that when messing with it. But copying anything from back to front
buffer is now not overwriting the cursor area anymore, which is painted
immediatly afterwards. Also moving the cursor invalidates only one rect
if old and new cursor area overlap. All these changes should save some cycles
too. Added TODO with regard to caching the on-the-fly cursor compositing
buffer.
If you have
* a more recent computer
* a decent VESA BIOS which supports your native resolution
* don't need video overlays
... I recommend using the VESA driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25479 a95241bf-73f2-0310-859d-f6bbb57e9c96
find the DeskCalc icon, we need to use BRoster::FindApp() instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25477 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added comment clarifying the use of reader_count and writer_count.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25474 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed a few things: one couldn't restart the install process when cancelled, use B_QUIT_REQUESTED instead of QuitRequested().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25466 a95241bf-73f2-0310-859d-f6bbb57e9c96
is plugged in after having been unplugged the device will now reuse a still
existing ECMDevice object. This allows for the link simply going down when a
device is unplugged and going up again when the device is replugged. The
nice thing is that due to the way our usb drivers work it doesn't matter
where you replug the device, so you can switch it from one port to another
or even from a highspeed to a fullspeed bus transparently.
* Fix a race condition between the notify hook and the device removed hook.
* Added some comments and extended some debug output to be more useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25464 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the usual find_directory() fix
* added a 'About...' menu item to the pop up menu. It uses the asynchronous Go() version (with the NULL argument); The synchronous version ate all the cpu, and don't know
if that's a bug, since the alert was inside the MessageReceived() loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25462 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Notify the stack of this by releasing the link state change sem (if present).
* Also check for a removed device in the notify callback to prevent accessing
a device that is going down.
Removing the device under Haiku with an active link will now report the loss of
connection. Still left to implement is to reuse a still existing device if the
same device (based on its MAC) is replugged.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25459 a95241bf-73f2-0310-859d-f6bbb57e9c96
ETHER_GET_LINK_STATE and ETHER_SET_LINK_STATE_SEM to provide this
information and notification.
* Don't try to clear an endpoint halt in case of a B_CANCELED status in the
callbacks as this is triggered by explicitly canceling transfers when the
device is closed/removed.
* Renamed the semaphore members to *Sem to distinguish them better.
* Some minor other cleanup and some added comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25458 a95241bf-73f2-0310-859d-f6bbb57e9c96
replicant, the window is not ours. Blinking the cursor is now done with
a BMessageRunner.
Removed the dragger for the time being, since Terminal as a replicant
has some issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25456 a95241bf-73f2-0310-859d-f6bbb57e9c96
This allows hooking your own projects locally without having to touch this file, and have to resolve conflicts on svn up.
One still must configure --enable-3rdparty of course or add this to UserBuildConfig:
HAIKU_INCLUDE_3RDPARTY = 1 ;
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25455 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a generic (for all devices) and specific (for a specific device) video
driver to be able to play with the replace mechanism (which is not yet done,
but works well for the one usage case tested).
* Added reference counting and initialize counting: now, each node owns a
reference of its parent, and each initialized node owns an initialization
reference of its parent.
* Added locking.
* Moved dump functionality into a member function.
* The same node can now only added once - ie. if a bus tries to register the
same device twice, it will fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25453 a95241bf-73f2-0310-859d-f6bbb57e9c96