1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/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
uthread_attr_getdetachstate.c
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
uthread_attr_getstacksize.c
uthread_attr_init.c
uthread_attr_setcreatesuspend_np.c
uthread_attr_setdetachstate.c
uthread_attr_setinheritsched.c [ The author's description... ] 1999-03-23 05:07:56 +00:00
uthread_attr_setprio.c
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
uthread_attr_setstacksize.c
uthread_autoinit.cc
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
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
uthread_condattr_init.c
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
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
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
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