summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/uthread (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* type func(...) -> type\nfunc(...) for function definitionsmarc2002-11-0712-24/+36
|
* thread safe libc -- 2nd try. OK miod@, millert@marc2002-11-051-30/+11
| | | | Thanks to miod@ for m68k and vax fixes
* test locks against _SPINLOCK_UNLOCKED, not 0. _SPINLOCK_UNLOCKED ismarc2002-11-041-4/+7
| | | | not zero on all arches
* back out previous patch.. there are still some vax/m68k issuesmarc2002-11-031-11/+30
|
* libc changes for thread safety. Tested on:marc2002-11-031-30/+11
| | | | | | | alpha (millert@), i386 (marc@), m68k (millert@ and miod@), powerpc (drahn@ and dhartmei@), sparc (millert@ and marc@), sparc64 (marc@), and vax (millert@ and miod@). Thanks to millert@, miod@, and mickey@ for fixes along the way.
* Include string.h to get memcpy() prototype; OK marc@millert2002-11-021-1/+2
|
* removes duplicate functions and factor out common code so the needed (butmarc2002-10-303-480/+231
| | | | | | | | missing) _thread_fd_unlock_owned function can be added with minimal pain. The incorrect special handling of the stdio fds was also removed. Tested with the libc_r regression tests and the mysql regression tests. No complaints from any developers
* signal handling changes. This corrects several signalmarc2002-10-3011-243/+253
| | | | | | | handling errors in the threads library. Most of the libc_r regression tests are now ok. thread specific kill semantics are still not correct. No negative comments after posting to tech@ a week or so ago. siginfo test fails on sparc64 due to sparc64 oddity.
* Check for null pointer before deref in info output. Based uponmarc2002-10-212-9/+16
| | | | | a freebsd patch forwarded to me by millert@ (thanks!). Change also applied to uthread_info.c even though we do not use it
* handle the SA_RESETHAND flag.marc2002-10-071-2/+10
| | | | | Part of the prep for SA_SIGINFO support. With this change the new siginfo regression test will fail instead of loop on all arches.
* remove erroneous commentmarc2002-09-121-3/+2
|
* spelling; raj@cerias.purdue.eduderaadt2002-06-041-3/+3
|
* return EBUSY, not EWOULDBLOCK for error when calling thread would blockpvalchev2002-05-071-3/+3
| | | | for pthread_rwlock_wrlock & sie says Single Unix Specification; ok fgs
* Make sure calls to pthread_cancel() do not take effect if the targetpvalchev2002-05-071-3/+5
| | | | thread is already exiting, from archie@FreeBSD, ok fgs
* ANSI'fy.fgsch2002-03-071-10/+5
|
* From FreeBSD:fgsch2002-03-072-3/+6
| | | | | Properly clear the status of a join operation if the joining thread is canceled or the joinee is detached.
* account for the process signal mask when dealing with signals; testedfgsch2002-02-215-25/+99
| | | | a while ago by marc@ and brad@
* correct return values.fgsch2002-02-191-8/+6
|
* From FreeBSD:fgsch2002-02-191-2/+3
| | | | Prevent dup2(2) from closing internal libc_r pipe descriptors.
* Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.millert2002-02-161-4/+4
|
* remove old style init used by mips. uses _thread_init_constructor nowpefo2002-01-241-17/+2
|
* From FreeBSD:fgsch2002-01-231-199/+402
| | | | | | | o Use _get_curthread() instead of _thread_run. o Correctly deal with cancellations. o Add libc internal versions of pthread_mutex_lock() and pthread_mutex_trylock(), unused by now.
* Instead of ifdef around ENOTSUP, move it to pthread_private.h and makefgsch2002-01-196-28/+12
| | | | it EOPNOTSUPP.
* From FreeBSD: correct priority handling.fgsch2002-01-192-5/+9
|
* From FreeBSD: sem_XXX implementation; manpages comming in a bit.fgsch2002-01-182-1/+249
|
* when alloc'ing the ready queue, make it big enough.fgsch2002-01-171-2/+2
|
* Change 1st arg in pthread_attr_getdetachstate to const.fgsch2002-01-101-2/+3
|
* From FreeBSD: fix conversion from msec to timespec.fgsch2002-01-101-3/+3
|
* comment out the pending signals check by now; it was not suppose to befgsch2002-01-041-1/+3
| | | | there yet.
* fpathconf(2) returns long.fgsch2002-01-021-2/+2
|
* More changes from FreeBSD, including:fgsch2001-12-316-310/+296
| | | | | | | | | o Only poll file descriptors when needed. o Change the way timing is achieved, counting scheduling ticks instead of calculating the elapsed time via gettimeofday(). o Prevent an overflow when polling. o Use curthread instead of _thread_run. o Remove extra spaces; indent.
* call pthread_sigmask() instead of having the code twice.fgsch2001-12-301-47/+3
|
* From FreeBSD:fgsch2001-12-201-7/+5
| | | | | | When cancelling a thread while in a join operation, do not detach the target thread of the join operation. This allows the cancelled thread to detach the target thread in its cancellation handler.
* sync with freebsd.fgsch2001-12-201-71/+184
|
* More sync.fgsch2001-12-195-44/+123
|
* Allow the scheduler to return to the signal handler and the signalmarc2001-12-182-8/+19
| | | | | | handler to return instead of calling sigreturn directly. This works around an apparent bug in sparc sigreturn handling. ok fgs@ and noone else has bitched
* More sync with freebsd code; join related code this time.fgsch2001-12-1110-146/+216
|
* sync with freebsd.fgsch2001-12-081-2/+3
|
* Partially sync with FreeBSD; mostly pthread_cancel(3) related changes.fgsch2001-12-087-91/+140
| | | | make includes is needed in case you want to play.
* a better fix for recursive mutex.fgsch2001-11-121-16/+4
|
* This fixes the recursive mutex problem with pthreads.marc2001-11-121-2/+14
| | | | | | fgs@ says their is a better fix... if so he can back these changes out and apply his fix at his convenience. In the meanwhile we'll have mutexen that work.
* Fix problem found by espie (and other porters) wheremarc2001-11-091-1/+17
| | | | | | | | | | system(...) hangs forever. From a comment in the fix: * Note: a thread calling wait4 may have its state changed to waiting * until awakened by a signal. Also note that system(3), for example, * blocks SIGCHLD and calls waitpid (which calls wait4). If the process * started by system(3) doesn't finish before this function is called the * function will never awaken -- system(3) also ignores SIGINT and SIGQUIT.
* Don't change the state of a thread as a result of a signal that ismarc2001-11-051-4/+7
| | | | | masked by that thread. This fixes the problem found with the signal regression test.
* Fix signal dispatching. No-one has reported any probs (other thanmarc2001-11-021-3/+3
| | | | | with regression tests that need to be fixed) and fgs@ thinks it's OK. I'll look at the pthreads regression tests, next
* Use _waitq_remove() and _waitq_insert() always; from FreeBSD.fgsch2001-09-042-27/+5
|
* put changes back, this time ALL the files.fgsch2001-09-048-43/+131
|
* Back out fgsch@'s tree breaking commits.todd2001-08-308-131/+43
| | | | Test next time, ok?
* fix some const warnings.fgsch2001-08-308-43/+131
| | | | more sync with freebsd.
* More sync with FreeBSD.fgsch2001-08-292-98/+186
|
* More syncing with FreeBSD, preparing for a commit.fgsch2001-08-261-10/+94
|