* 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
address space that is fully locked and marked B_KERNEL_AREA. It can
thus be accessed by the kernel without additional checks.
* For each userland thread we do create a user_thread structure in that
area. The structure is accessible from userland via TLS, using the
private get_user_thread() function.
* Introduced private userland functions [un]defer_signals(). They can be
used to cheaply disable/re-enable signal delivery. They use the
user_thread::defer_signals/pending_signals fields which are
checked/updated by the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25451 a95241bf-73f2-0310-859d-f6bbb57e9c96
changes to the area (delete, resize, clone) from userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25450 a95241bf-73f2-0310-859d-f6bbb57e9c96
when a signal handler that itself uses the allocator is invoked while
the thread originally was in the allocator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25449 a95241bf-73f2-0310-859d-f6bbb57e9c96
- remove makefile and rsrc as it builds fine from jam
- add to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25441 a95241bf-73f2-0310-859d-f6bbb57e9c96
devices of the CDC class (2 - communication) with ECM subclass (6) interfaces.
This type of device can be for example a USB to ethernet adapter or current
UMTS cell phones that support the Wireless Mobile Communications Devices (WMC)
standard.
Note that there is also another, similar, thing called EEM (Ethernet Emulation
Model) which we want to support too and is why I called this driver "usb_ecm"
instead of just "usb_network".
This driver was written in less than half a day and while it works nicely with
my Sony Ericsson K850i (comitting over this very device/driver), it does not
yet contain features like link state reporting and multicast and may obviously
contain a few bugs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25439 a95241bf-73f2-0310-859d-f6bbb57e9c96
prints to stdout, but only until the program and its dependencies are
loaded. Failed attempts to load add-ons and the like doesn't pollute
stdout anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25437 a95241bf-73f2-0310-859d-f6bbb57e9c96
and pthread_mutex_timedlock() which were waiting system time relative
although their timeout parameter is Epoch relative.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25435 a95241bf-73f2-0310-859d-f6bbb57e9c96
Replaced single-line comments by multi-line comments for ANSI C
compliance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25433 a95241bf-73f2-0310-859d-f6bbb57e9c96
updating the active pointer as otherwise the endpoints of the new alternate
would have been cleared instead of the old one (leaking endpoints).
* Only clear and re-initialize the endpoints of the interface we are setting
an alterntate. Otherwise we tear down all the device endpoints which would
result in a bad situation for composite devices where multiple drivers may
use different functions (through different interfaces) of a device side by
side.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25432 a95241bf-73f2-0310-859d-f6bbb57e9c96
signal mask as required. and also makes my recent return value fix
unnecessary, since __longjmp_return() already does that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25430 a95241bf-73f2-0310-859d-f6bbb57e9c96