summaryrefslogtreecommitdiffstats
path: root/lib/libkse
Commit message (Collapse)AuthorAgeFilesLines
* - Define a _spinunlock() function so that threading implementations may dojeff2003-03-261-0/+7
| | | | | | more complicated things than just setting the lock to 0. - Implement stubs for this function in libc and the two threading libraries that are currently in the tree.
* Backout last commit.davidxu2003-03-151-1/+1
| | | | Requested by: jhb
* Fix a bug in rwlock. When a rwlock was locked by reader threads, adavidxu2003-03-141-1/+1
| | | | writter thread can block reader threads to get read lock.
* Fix cut'n'paste errorphantom2003-03-051-1/+1
| | | | Noticed by: julian
* MFlibc_r: add and document pthread_attr_get_np() function.phantom2003-03-032-0/+58
|
* Fix compiling error.davidxu2003-02-261-1/+1
|
* Insert threads interrupted by a signal while running onto the run queue.mini2003-02-232-26/+3
|
* Add signal logic to the build.mini2003-02-231-0/+2
|
* Deliver signals posted via an upcall to the appropriate thread.mini2003-02-176-525/+274
|
* Actually link in the attr_{set,get}stack.alfred2003-02-111-0/+2
|
* Add pthread_attr_getstack() and pthread_attr_setstack().alfred2003-02-102-0/+117
| | | | Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* remove #ifdef _THREAD_SAFEfjoe2003-01-241-2/+0
|
* For now, build and install this as libkse instead of libpthread.deischen2002-12-082-3/+3
| | | | | | | This will avoid any accidental use of an experimental library. Suggested by: rwatson Approved by: re (jhb)
* Schedule spinlocked threads by moving them through the work queue, insteadmini2002-11-241-2/+15
| | | | | | | of the wait queue. Approved by: re (blanket) Stolen from: davidxu
* Get the wall clock time from the KSE mailbox, rather than doing anothermini2002-11-241-2/+2
| | | | syscall.
* In _thread_enter_uts, fix eflags saving bug.davidxu2002-11-221-1/+2
| | | | | | | | In _thread_switch, set current thread pointer in kse mailbox only after all registers copied out of thread mailbox, kernel will do upcall at trap time, if set current thread pointer before loading all registers from thread mailbox, at trap time, the thread mailbox data will be overwritten by kernel, result is junk data is loaded into CPU.
* Fix idle timeout bug, use correct current time of day.davidxu2002-11-201-2/+2
|
* Adjust code for new mailbox format.davidxu2002-11-181-3/+3
| | | | Reviewed by: deischen, mini
* Schedule an idle context to block until timeouts expire without blockingmini2002-11-123-107/+89
| | | | further upcalls.
* Make pthread_sigmask(3) operate on the thread signal mask, not the processmini2002-10-301-1/+27
| | | | signal mask.
* Use KSE to schedule threads.mini2002-10-309-259/+463
|
* Add the 'restrict' type qualifier to the prototypes of `sigaction',robert2002-10-021-1/+1
| | | | | | `sigprocmask', `sigaltstack', and `sigwait' as well as to the prototypes of the apparantly unimplemented functions `sigtimedwait' and `sigwaitinfo'. This complies with IEEE Std 1003.1-2001.
* Zap now-unused SHLIB_MINORpeter2002-09-281-1/+0
|
* Make libpthread KSE aware.mini2002-09-1626-2395/+135
| | | | | Reviewed by: deischen, julian Approved by: -arch
* Mechanically change all libc_r references to libpthread.mini2002-09-164-7/+7
|
* Make the changes needed for libpthread to compile in its new home.mini2002-09-1694-232/+191
| | | | | | | | The new libpthread will provide POSIX threading support using KSE. These files were previously repo-copied from src/lib/libc_r. Reviewed by: deischen Approved by: -arch
* Remove much of the dereferencing of the fd table entries to lookdeischen2002-08-299-19/+23
| | | | | | | | | | | at file flags and replace it with functions that will avoid null pointer checks. MFC to be done by archie ;-) PR: 42100 Reviewed by: archie, robert MFC after: 3 days
* Make the libc_r version of select() set the readable or writablearchie2002-08-291-4/+6
| | | | | | | | | | file descriptor bit if poll() returns POLLERR, POLLHUP, or POLLNVAL. Othewise, it's possible for select() to return successfully but with no bits set. Reviewed by: deischen MFC after: 3 days PR: bin/42175
* When poll(2)'ing for readability or writability of a file descriptorarchie2002-08-291-2/+6
| | | | | | | | on behalf of a thread, we should check the POLLERR, POLLHUP, and POLLNVAL flags as well to wake up the thread in these cases. Suggested by: deischen MFC after: 3 days
* Replace various spelling with FALLTHROUGH which is lint()ablecharnier2002-08-251-1/+1
|
* Oops, forgot to set the suspended flag for threads that are createddeischen2002-07-091-2/+3
| | | | | | | initially suspended. This was preventing such threads from getting resumed. Reported by: Bill Huey <billh@gnuppy.monkey.org>
* Fix a couple of minor nits that prevented this from compiling.deischen2002-07-021-2/+4
| | | | Pointed out by: julian
* Make sigpending and sigsuspend account for signals that are pending ondeischen2002-06-282-5/+27
| | | | | | the process as well as pending on the current thread. Reported by: Andrew MacIntyre <andymac@bullseye.apana.org.au>
* Add a wrapper for pselect() in order to make it a cancellation point.deischen2002-06-282-0/+55
| | | | Prompted by: wollman
* Missed in earlier commit -- I did cvs commit src/lib/libc. Oops.rwatson2002-06-142-8/+0
|
* Revamp suspend and resume. While I'm here add pthread_suspend_all_np()deischen2002-05-2413-307/+231
| | | | | | | | | | | | | and pthread_resume_all_np(). These suspend and resume all threads except the current thread, respectively. The existing functions pthread_single_np() and pthread_multi_np(), which formerly had no effect, now exhibit the same behaviour and pthread_suspend_all_np() and pthread_resume_all_np(). These functions have been added mostly for the native java port. Don't allow the uthread kernel pipe to use the same descriptors as stdio. Mostily submitted by Oswald Buddenhagen <ossi@kde.org>. Correct some minor style nits.
* Undo namespace pollution by prefixing the globals pthread_guard_default andalfred2002-05-154-26/+29
| | | | | | | | pthread_page_size. Fix a bunch line wrapping. Pointed out by: deischen
* Don't use PAGE_SIZE in userland, instead use getpagesize(), this is toalfred2002-05-134-21/+36
| | | | | | | allow running on other arches when the instructions are supported but the page size granularity is not. Glanced at by: peter
* Use GCC's __attribute__ ((constructor)) mechanism to invoke the pthreadalfred2002-05-112-1/+62
| | | | | | | startup code rather than a static C++ object since c++ seems to be broken. This doesn't seem to work for staticically linked program just yet, I'll give that some more work when I get a chance.
* Make these functions cancellation points like they should be:archie2002-05-025-5/+66
| | | | | | | | poll(2), readv(2), select(2), wait4(2), writev(2). PR: bin/37658 Reviewed by: deischen MFC after: 1 week
* Make sure calls to pthread_cancel() do not take effect if the targetarchie2002-05-021-2/+4
| | | | | | | | thread is already exiting. PR: bin/37614 Reviewed by: deischen MFC after: 1 week
* Usage style sweep: spell "usage" with a small 'u'.des2002-04-221-1/+1
| | | | | Also change one case of blatant __progname abuse (several more remain) This commit does not touch anything in src/{contrib,crypto,gnu}/.
* The GCC developers have made good on their threats against #pragma for 3.1.obrien2002-04-151-1/+2
| | | | | | Use __weak_reference in place of the #pragma. Submitted by: eischen
* Sync SCM ID comments with libc.obrien2002-04-151-7/+9
|
* Return correct number of total bits set in all fd_set's.asmodai2002-04-091-9/+18
| | | | | | | | | | | Change case of POLLNVAL as an error. Remove POLLHUP and POLLERR from one case, their place is most likely amongst read events. PR: 33723 Submitted by: Alexander Litvin <archer@whichever.org> Reviewed by: deischen [Provided a small change to the PR patch as well] MFC after: 4 weeks
* Do not use __progname directly (except in [gs]etprogname(3)).markm2002-03-291-5/+7
| | | | | | Also, make an internal _getprogname() that is used only inside libc. For libc, getprogname(3) is a weak symbol in case a function of the same name is defined in userland.
* Add the ability to recognize old references to keys, and return NULLdeischen2002-03-196-36/+54
| | | | | when old keys are referenced (after pthread_key_delete()) via pthread_getspecific().
* Fix the return code from pthread_rwlock_try[rw|rd]lock() functions;bsd2002-03-151-2/+2
| | | | | | these should return EBUSY when the calling thread would block. MFC after: 2 weeks
* Properly clear the status of a join operation if the joining thread isdeischen2002-03-062-1/+4
| | | | canceled or the joinee is detached.
* Don't rely on <sys/signal.h> to include <sys/ucontext.h>deischen2002-02-171-0/+1
|
OpenPOWER on IntegriCloud