freebsd-src/lib/libc_r/uthread
Jason Evans ecaa6e8c9e Use growable stacks for thread stacks that are the default stack size.
Cache discarded default thread stacks for use in subsequent thread creations.

Create a red zone at the end of each stack (including the initial thread
stack), with the hope of causing a segfault if a stack overflows.

To activate these modifications, add -D_PTHREAD_GSTACK to CFLAGS in
src/lib/libc_r/Makefile.  Since the modifications depend on the VM_STACK
kernel option, I'm not sure how to safely use growable stacks by default.

Testing, as well as algorithmic and stylistic comments are welcome.
1999-07-05 00:35:19 +00:00
..
Makefile.inc In the words of the author: 1999-06-20 08:28:48 +00:00
pthread_private.h Use growable stacks for thread stacks that are the default stack size. 1999-07-05 00:35:19 +00:00
uthread_accept.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_attr_destroy.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_getdetachstate.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_getinheritsched.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_getschedparam.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_getschedpolicy.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_getscope.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_getstackaddr.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_getstacksize.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_init.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_setcreatesuspend_np.c Submitted by: John Birrell <cimaxp1!jb@werple.net.au> 1996-08-20 08:22:01 +00:00
uthread_attr_setdetachstate.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_setinheritsched.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_setprio.c Submitted by: John Birrell <cimaxp1!jb@werple.net.au> 1996-08-20 08:22:01 +00:00
uthread_attr_setschedparam.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_setschedpolicy.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_setscope.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_setstackaddr.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_attr_setstacksize.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_autoinit.cc Added a new module "uthread_autoinit.cc". This is a small C++ module. 1996-02-17 02:19:37 +00:00
uthread_bind.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_clean.c Submitted by: John Birrell 1997-02-05 23:26:09 +00:00
uthread_close.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_cond.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_condattr_destroy.c Modify the return values to comply with POSIX. Previously these 1997-11-25 01:29:16 +00:00
uthread_condattr_init.c Modify the return values to comply with POSIX. Previously these 1997-11-25 01:29:16 +00:00
uthread_connect.c Add missing initialization of the length variable passed to 1998-08-12 20:29:29 +00:00
uthread_create.c Use growable stacks for thread stacks that are the default stack size. 1999-07-05 00:35:19 +00:00
uthread_detach.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_dup2.c Don't lock newfd if it is not opened. 1998-09-13 12:48:47 +00:00
uthread_dup.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_equal.c
uthread_execve.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_exit.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_fchmod.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_fchown.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_fcntl.c Removed unused variables. 1998-09-07 21:55:01 +00:00
uthread_fd.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_file.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_find_thread.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_flock.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_fork.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_fstat.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_fstatfs.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_fsync.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_gc.c Use growable stacks for thread stacks that are the default stack size. 1999-07-05 00:35:19 +00:00
uthread_getdirentries.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_getpeername.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_getprio.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_getschedparam.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_getsockname.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_getsockopt.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_info.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_init.c Use growable stacks for thread stacks that are the default stack size. 1999-07-05 00:35:19 +00:00
uthread_ioctl.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_join.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_kern.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_kill.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_listen.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_mattr_init.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_mattr_kind_np.c Add support for pthread_mutexattr_settype(). As a side effect of 1998-11-28 23:52:58 +00:00
uthread_multi_np.c Submitted by: John Birrell <cimaxp1!jb@werple.net.au> 1996-08-20 08:22:01 +00:00
uthread_mutex_prioceiling.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_mutex_protocol.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_mutex.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_mutexattr_destroy.c Modify the return values to comply with POSIX. Previously these 1997-11-25 01:29:16 +00:00
uthread_nanosleep.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_once.c
uthread_open.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_pipe.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_poll.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_priority_queue.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_read.c Check the access mode in the flags before waiting on a read or a write 1998-06-10 22:28:45 +00:00
uthread_readv.c Check the access mode in the flags before waiting on a read or a write 1998-06-10 22:28:45 +00:00
uthread_recvfrom.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_recvmsg.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_resume_np.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_rwlock.c Removed some variable initializations which were unnecessary and divergent 1998-09-07 21:07:59 +00:00
uthread_rwlockattr.c -Wall clean. 1998-09-07 19:23:55 +00:00
uthread_select.c Fix few warnings on the alpha. 1999-06-23 15:01:22 +00:00
uthread_self.c
uthread_sendmsg.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_sendto.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_seterrno.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_setprio.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_setschedparam.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_setsockopt.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_shutdown.c Implement compile time debug support instead of tracking file name and 1998-06-09 23:21:05 +00:00
uthread_sig.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_sigaction.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_sigblock.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_sigmask.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_signal.c Don't automatically restart syscalls for the signals that the thread 1998-08-26 20:55:31 +00:00
uthread_sigpending.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_sigprocmask.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_sigsetmask.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_sigsuspend.c Implementation of an additional state called SIGWAIT (with the previous 1998-09-30 06:27:31 +00:00
uthread_sigwait.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_single_np.c Submitted by: John Birrell <cimaxp1!jb@werple.net.au> 1996-08-20 08:22:01 +00:00
uthread_socket.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_socketpair.c Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
uthread_spec.c - Fixed bug where we NULL'd before we freed the data causing a memory leak. 1999-05-14 21:36:16 +00:00
uthread_spinlock.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_suspend_np.c In the words of the author: 1999-06-20 08:28:48 +00:00
uthread_switch_np.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_vfork.c In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an alias 1998-09-12 22:03:20 +00:00
uthread_wait4.c Defer signals, so we will not wait for SIGCHLD after it was delivered. 1999-06-29 19:57:07 +00:00
uthread_write.c Removed unused variables. 1998-09-07 21:55:01 +00:00
uthread_writev.c If a short write, only loop if no error. 1998-06-14 09:36:14 +00:00
uthread_yield.c Add sched_yield() witch is the draft 10 equivalent of pthread_yield() 1998-03-08 02:37:27 +00:00