Commit Graph

30 Commits

Author SHA1 Message Date
christos cca9405683 Add charles' mlock fixes, protected with PTHREAD_MLOCK_KLUDGE and enabled
by default, until we come up with a real fix.
2005-02-03 17:30:33 +00:00
yamt e19f3f9976 document sched_yield. 2004-12-14 01:47:13 +00:00
nathanw 0eaa8971b7 Use CPP macros to cause many libpthread functions used by applications
to be transformed into the do-nothing-when-libpthread-isn't-linked libc
stub names. This will permit library code that uses <pthread.h> and pthread
functions "defensively" to not need to link against libpthread and not need
to be patched to the threadlib.h API.
2004-12-10 16:40:40 +00:00
pooka aff31bed2f pthread_spin_lock.3 also describes pthread_spin_trylock(),
so link them together
2004-06-02 14:07:07 +00:00
christos 9b99e159b4 add pool code for res state.
XXX: could be more efficient.
2004-05-21 03:40:51 +00:00
lukem d597f546a1 Add dependencies to assym.h on:
pthread.h pthread_int.h pthread_md.h
Should help prevent the problem I raised in [kern/23946], based on
a hint from Christian Limpach.

Add MAKEVERBOSE support.
2004-01-02 01:37:53 +00:00
cl 2c9b7b1eb7 Set default stack size to the current limit on the stack size as set
with the shell's command to change limits.  Make the PTHREAD_STACKSIZE
environment variable override the default stack size.  The old fixed
stack size behaviour can be enable with PT_FIXEDSTACKSIZE_LG when building
libpthread.
2003-11-27 16:30:54 +00:00
christos c8608b903b Document pthread_attr_setcreatesuspend_np, pthread_suspend_np, pthread_resume_np 2003-11-12 02:44:22 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
nathanw bd9a18b79f Split out pthread_{set,get}specific() into a separate file and arrange
for that file to not be built with profiling. This makes it reasonable to
use pthread_{set,get}specific() to implement thread-safe profiline call counts.
2003-08-13 18:52:01 +00:00
lukem a93ea220fc Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
2003-08-01 17:03:41 +00:00
wiz 576530e520 Add pthread(3), based on one by Hubert Feyrer, improved by yours truly,
reviewed by Nathan J. Williams.
2003-07-24 07:50:24 +00:00
nathanw ec2c169839 pthread.c was getting a bit unwieldly. Move pthread_attr stuff out
into a new file, and put the shared private structure definition in
pthread_int.h.
2003-07-18 22:33:45 +00:00
nathanw 33314cffa1 Make infrastructure for man pages. 2003-06-03 21:34:00 +00:00
nathanw 37c11910ec Re-enable nanosleep(); kernel bug is squished (kern_time.c:1.67). 2003-03-10 22:16:36 +00:00
nathanw a4314c450c Disable userlevel nanosleep() until I find the timer/alarm bug that it
is tickling.
2003-02-28 18:37:44 +00:00
nathanw 6aab0806c8 Implement nanosleep() at userlevel. Threaded applications seem to like
to sleep a lot, and there's no need for each such thread to consume kernel
resources.

(accidentally checked the pthread.c part of this in yesterday; no reason
 not to finish the job)
2003-02-15 22:15:50 +00:00
thorpej c184191ce3 p1003.1b semaphore manual pages have been moved to librt. 2003-01-24 01:53:27 +00:00
christos 3bcbc56f02 add manual pages. 2003-01-21 02:24:41 +00:00
christos 90135cf7e8 add support for p1003.1b semaphores. From FreeBSD 2003-01-20 20:10:19 +00:00
thorpej 439830cb08 Always allow includes to be installed. This makes it easier for
people to get straggling ports bootstrapped (pthread.h is required
in order to build libc).
2003-01-19 19:55:13 +00:00
thorpej c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00
scottr a1d96607f3 This incarnation of the pthreads library is ancient and not useful, and
should have been mothballed some time ago...
1997-10-08 17:14:35 +00:00
proven 772f07b4a8 The latest pthread library. 1994-02-07 21:59:27 +00:00
proven bafb721fb3 Fix for older shells that can't handle then; 1993-11-22 19:37:48 +00:00
proven c88ef05a9a Added NOPIC flag. 1993-11-16 03:21:44 +00:00
cgd 93e4e1b5ae correct my bad advice 1993-11-15 11:11:00 +00:00
proven e123d2840c OK one more try at getting it right ... 1993-11-15 10:02:18 +00:00
proven 2000519508 Makefile needed a preall to make a few links before compiling sources.
CVS doesn't check in symlinks.
1993-11-15 06:49:08 +00:00
proven 89fc7bac08 Initial release of the POSIX 1003.4a Draft 7 thread implementation. 1993-11-14 22:06:22 +00:00