98a11db62d
the system call got interrupted and the absolute timeout is converted to a relative timeout, it may happen that we get a negative number. In such a case, simply set the timeout to zero so that if the event that the thread wants to wait for has happened it can still return successfully, but if it hasn't happened then the thread doesn't suspend indefinitely. This should fix certain applications (including mozilla) that seem to hang indefinitely sometimes. Noticed and debugged by: Morten Johansen <root@morten-johansen.net> |
||
---|---|---|
.. | ||
Makefile.inc | ||
thr_attr.c | ||
thr_autoinit.c | ||
thr_cancel.c | ||
thr_clean.c | ||
thr_concurrency.c | ||
thr_cond.c | ||
thr_condattr_destroy.c | ||
thr_condattr_init.c | ||
thr_create.c | ||
thr_detach.c | ||
thr_equal.c | ||
thr_exit.c | ||
thr_find_thread.c | ||
thr_gc.c | ||
thr_getprio.c | ||
thr_getschedparam.c | ||
thr_info.c | ||
thr_init.c | ||
thr_join.c | ||
thr_kern.c | ||
thr_main_np.c | ||
thr_mattr_init.c | ||
thr_mattr_kind_np.c | ||
thr_multi_np.c | ||
thr_mutex_prioceiling.c | ||
thr_mutex_protocol.c | ||
thr_mutex.c | ||
thr_mutexattr_destroy.c | ||
thr_once.c | ||
thr_printf.c | ||
thr_private.h | ||
thr_resume_np.c | ||
thr_rwlock.c | ||
thr_rwlockattr.c | ||
thr_self.c | ||
thr_sem.c | ||
thr_seterrno.c | ||
thr_setprio.c | ||
thr_setschedparam.c | ||
thr_sig.c | ||
thr_spec.c | ||
thr_spinlock.c | ||
thr_stack.c | ||
thr_subr.c | ||
thr_suspend_np.c | ||
thr_syscalls.c | ||
thr_yield.c |