freebsd-dev/lib/libc_r/uthread
Daniel Eischen 1d013a86ed Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a
thread waiting on an event (I/O, condvar, etc) will, when resumed using
pthread_resume_np, return with EINTR.  For example, suspending and resuming
a thread blocked on read() will not requeue the thread for the read, but
will return -1 with errno = EINTR.  If the suspended thread is in a critical
region, the thread is suspended as soon as it leaves the critical region.

Fix a bogon in pthread_kill() where a signal was being delivered twice
to threads waiting in sigwait().

Reported by (suspend/resume bug):	jdp
Reviewed by:	jasone
2000-03-15 13:59:27 +00:00
..
Makefile.inc Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
pthread_private.h Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_accept.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_aio_suspend.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_attr_destroy.c
uthread_attr_getdetachstate.c
uthread_attr_getinheritsched.c
uthread_attr_getschedparam.c
uthread_attr_getschedpolicy.c
uthread_attr_getscope.c
uthread_attr_getstackaddr.c
uthread_attr_getstacksize.c
uthread_attr_init.c
uthread_attr_setcreatesuspend_np.c
uthread_attr_setdetachstate.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_attr_setinheritsched.c
uthread_attr_setprio.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_attr_setschedparam.c Make sched_param parameter a const to comply with POSIX and SUSv2 specs. 2000-01-10 04:14:08 +00:00
uthread_attr_setschedpolicy.c
uthread_attr_setscope.c
uthread_attr_setstackaddr.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_attr_setstacksize.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_autoinit.cc
uthread_bind.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_cancel.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_clean.c
uthread_close.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_cond.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_condattr_destroy.c
uthread_condattr_init.c
uthread_connect.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_creat.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_create.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_detach.c
uthread_dup2.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_dup.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_equal.c
uthread_execve.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_exit.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fchflags.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fchmod.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fchown.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fcntl.c Use _fcntl() (not fcntl()) inside of fcntl(). 2000-01-28 22:10:27 +00:00
uthread_fd.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_file.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_find_thread.c
uthread_flock.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fork.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fstat.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fstatfs.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_fsync.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_gc.c
uthread_getdirentries.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_getpeername.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_getprio.c
uthread_getschedparam.c
uthread_getsockname.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_getsockopt.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_info.c
uthread_init.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_ioctl.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_jmp.c Minor *jmp() cleanups. 2000-01-20 21:53:59 +00:00
uthread_join.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_kern.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_kill.c
uthread_listen.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_mattr_init.c
uthread_mattr_kind_np.c
uthread_msync.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_multi_np.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_mutex_prioceiling.c
uthread_mutex_protocol.c
uthread_mutex.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_mutexattr_destroy.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_nanosleep.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_once.c
uthread_open.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_pause.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_pipe.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_poll.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_priority_queue.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_read.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_readv.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_recvfrom.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_recvmsg.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_resume_np.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_rwlock.c
uthread_rwlockattr.c Track libc's three-tier symbol naming. libc_r must currently implement 2000-01-12 09:28:58 +00:00
uthread_select.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_self.c
uthread_sem.c For errors, return -1 and set errno to indicate the error type, rather than 2000-02-16 19:34:53 +00:00
uthread_sendmsg.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_sendto.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_seterrno.c
uthread_setprio.c Implement continuations to correctly handle [sig|_]longjmp() inside of a 2000-01-19 07:04:50 +00:00
uthread_setschedparam.c
uthread_setsockopt.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_shutdown.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_sig.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_sigaction.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_sigblock.c
uthread_sigmask.c
uthread_signal.c
uthread_sigpending.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_sigprocmask.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_sigsetmask.c
uthread_sigsuspend.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_sigwait.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_single_np.c
uthread_sleep.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_socket.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_socketpair.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_spec.c
uthread_spinlock.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_suspend_np.c Fix pthread_suspend_np/pthread_resume_np. For the record, suspending a 2000-03-15 13:59:27 +00:00
uthread_switch_np.c
uthread_system.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_tcdrain.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_vfork.c
uthread_wait4.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_wait.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_waitpid.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_write.c Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), 2000-01-27 23:07:25 +00:00
uthread_writev.c Use __strong_reference() instead of __weak_reference() to assure that the 2000-01-29 22:53:55 +00:00
uthread_yield.c