possible on the server side (for example Show() and Hide() need to be
immediate). But also SetViewColor() and a few others. This fixes the
bug encountered in Pairs.
* Removed NOTE in DrawAfterChildren(), since it was outdated.
* Corrected a typo in a comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25145 a95241bf-73f2-0310-859d-f6bbb57e9c96
separate functions and made the set errno correctly.
* Added RLIMIT_CORE case. We don't support core dumps, but setting them
to disabled shouldn't fail anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25141 a95241bf-73f2-0310-859d-f6bbb57e9c96
or connect() that passed sizeof(sockaddr_un) would always fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25138 a95241bf-73f2-0310-859d-f6bbb57e9c96
paths by default, but I guess we want to keep it that way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25137 a95241bf-73f2-0310-859d-f6bbb57e9c96
unlockpt(), which provide a portable way of opening a pty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25134 a95241bf-73f2-0310-859d-f6bbb57e9c96
again.
* Publish /dev/ptmx. Opening it will open a fresh pty master. In
principle /dev/pt/ is obsolete now, but I guess we keep it around for
compatibility with BeOS. Though there shouldn't be many applications
opening a pty, that we might be interested in...
* New ioctls B_IOCTL_GET_TTY_INDEX (returns the tty index) and
B_IOCTL_GRANT_TTY (grants tty slave access rights).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25133 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It is possible to acquire a tty that is already open, iff it is not a
controlling terminal yet and the process is a session leader.
* Also set the terminal process group when acquiring a controlling
terminal.
telnetd/login and sshd are a lot happier now (and so am I :-)).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25132 a95241bf-73f2-0310-859d-f6bbb57e9c96
cleverness to reschedule only, if it actually unblocked another thread.
Should have been the reason for #2152 (overall slowdown).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25131 a95241bf-73f2-0310-859d-f6bbb57e9c96
* remove_transaction_listeners() was checking the events_pending field without
holding the sNotificatonLock - that should have been harmless (as we're in the
middle of deleting the transaction), but it now looks better.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25130 a95241bf-73f2-0310-859d-f6bbb57e9c96
several iterations the connect()s start to fail -- first occasionally,
later quite often.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25127 a95241bf-73f2-0310-859d-f6bbb57e9c96
is required, but Linux seems to do it. It also allows us to create
AF_INET socketpair()s -- not really needed, but probably nice for
testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25126 a95241bf-73f2-0310-859d-f6bbb57e9c96
adding a block to its array. This could cause all kinds of trouble, and
fixes at least a part of #2148.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25125 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead, it will now use the image_id parameter to store errors in.
* find_instantiation_func() and validate_instantiation() will no longer
overwrite errno with B_OK.
* Made private functions static, and moved them to the top.
* If the class name starts with '_', it will now try to add a BPrivate namespace
in case it could not find the class. This should help with the compatibility
issues Shinta reported (also part of ticket #2086).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25124 a95241bf-73f2-0310-859d-f6bbb57e9c96
a broken archive - it will now create a new _BTextInput_ child, if it couldn't
find one. This fixes#2086.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25123 a95241bf-73f2-0310-859d-f6bbb57e9c96
and loop until everything has been written. Non-blocking writes should
write as much as they can and return B_WOULD_BLOCK, if that wasn't the
whole request.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25122 a95241bf-73f2-0310-859d-f6bbb57e9c96
succeed after we have successfully sent the first buffer, even if not a
single byte of some following buffer could be sent. We should probably
even succeed whatever the error code -- not sure what is the reason
for only doing that for B_WOULD_BLOCK and B_INTERRUPTED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25121 a95241bf-73f2-0310-859d-f6bbb57e9c96
* removed unmaintained fNode var from listview
* don't exit just in case we can't load the icons,
instead draw an string what the default printer is
* call create_directory only if the printers dir does not exist
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25120 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add spacing around the tab view.
Thanks, Philippe! BTW, the tab view will come in handy again, now with the
additional options that sub-pixel rendering is going to offer... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25119 a95241bf-73f2-0310-859d-f6bbb57e9c96
reference to a newly created header. It would thus not be deleted when
the new node (which also has a reference) was removed again.
* Added debugger command "net_buffer_stats" which prints the allocation
counts of net buffers and data headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25118 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes race conditions. The OpenSSH tests don't hang anymore --
instead they run the system out of memory, apparently due to a net
buffer/data node leak.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25117 a95241bf-73f2-0310-859d-f6bbb57e9c96
given to it when the replicant was first added. This had the net
effect that any on the fly changes such as the color drops allowed
by the Activity Monitor replicant were discarded. Fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25113 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The "net" driver is now also loaded.
* The node tree is now dumped.
* If registering fails, the node is now removed from its parent again
(for now, correct would be to release it).
* device_node::_RegisterDynamic() now also checks for the driver path.
* _RegisterFixed() no longer calls supports_device() - since it has been
directly specified, we will assume the user knows what he is doing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25112 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added support for non-published condition variables. One has to call
Init() on those, and add entries directly with the
ConditionVariable::Add() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25110 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the object pointer passed to thread_prepare_to_block() const, so
that strings can be passed without casting. Passing a string could
maybe be made a convention for THREAD_BLOCK_TYPE_OTHER.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25109 a95241bf-73f2-0310-859d-f6bbb57e9c96
* layout the view even in the case of an unarchived one
* this should finally fix#2121
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25106 a95241bf-73f2-0310-859d-f6bbb57e9c96
passing 0 as timeout flags or B_INFINITE_TIMEOUT as timeout, in which
case no timer will be used.
* Implemented missing thread_block_with_timeout().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25104 a95241bf-73f2-0310-859d-f6bbb57e9c96
respective Private* base class.
* Changed sigwait() and sigsuspend() to use thread_block() instead of a
condition variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25100 a95241bf-73f2-0310-859d-f6bbb57e9c96
thread_block(), thread_unblock(),...) that allow a thread to wait for
something without needing a semaphore or condition variable. It can
simply block and another thread can unblock it. Supports timeouts and
interrupting. Both semaphores and condition variables use this
common mechanism, now.
* Semaphores:
- Some simplifications due to the thread blocking mechanism.
- Changed locking order to sem -> thread. It was the other way around
before and when introducing the wait_for_objects() support I had
also introduced a situation where the locking was reverse, which
could potentially cause a dead lock on SMP systems.
- Instead of queueing thread structures, a semaphore queues
queued_thread entries now, which are created on the stack. The
thread::sem structure could thus be removed.
- Added sem_entry::net_count, which is sem_entry::count plus the
acquisition count of all waiting threads. This number is needed in
remove_thread_from_sem() and instead of computing it there we
maintain it.
- Fixed remove_thread_from_sem(). It would not unblock threads, if
the sem count was <= 0.
- Made sem::last_acquirer unconditional. It is actually needed for
sem_info::latest_holder. Fixed fill_sem_info() accordingly.
- Added some optional tracing output, though only via ktrace_printf().
* Condition variables:
- Could be simplified significantly through the use of the thread
blocking mechanism. Removed a good deal of unnecessary code.
- Moved the ConditionVariableEntry "flags" parameter from Wait() to
Add(), and adjusted all places where condition variables are used
accordingly.
* snooze() uses thread_block_with_timeout() instead of a semaphore.
* Simplified thread interrupting in the signal and user debugger code.
Instead of separate functions for threads waiting on a semaphore or
condititon variable, we only have a single thread_interrupt(), now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25099 a95241bf-73f2-0310-859d-f6bbb57e9c96