summaryrefslogtreecommitdiff
path: root/lib/libpthread
Commit message (Collapse)AuthorAgeFilesLines
* Fix cut'n'paste errorAlexey Zelkin2003-03-051-1/+1
| | | | | | | Noticed by: julian Notes: svn path=/head/; revision=111928
* MFlibc_r: add and document pthread_attr_get_np() function.Alexey Zelkin2003-03-034-0/+174
| | | | Notes: svn path=/head/; revision=111846
* Fix compiling error.David Xu2003-02-261-1/+1
| | | | Notes: svn path=/head/; revision=111542
* Insert threads interrupted by a signal while running onto the run queue.Jonathan Mini2003-02-232-26/+3
| | | | Notes: svn path=/head/; revision=111360
* Add signal logic to the build.Jonathan Mini2003-02-231-0/+2
| | | | Notes: svn path=/head/; revision=111359
* Deliver signals posted via an upcall to the appropriate thread.Jonathan Mini2003-02-176-525/+274
| | | | Notes: svn path=/head/; revision=111035
* Actually link in the attr_{set,get}stack.Alfred Perlstein2003-02-111-0/+2
| | | | Notes: svn path=/head/; revision=110677
* Add pthread_attr_getstack() and pthread_attr_setstack().Alfred Perlstein2003-02-102-0/+117
| | | | | | | Submitted by: Craig Rodrigues <rodrigc@attbi.com> Notes: svn path=/head/; revision=110636
* remove #ifdef _THREAD_SAFEMax Khon2003-01-241-2/+0
| | | | Notes: svn path=/head/; revision=109772
* english(4) police.Jens Schweikhardt2002-12-272-2/+2
| | | | Notes: svn path=/head/; revision=108317
* mdoc(7) police: Deal with self-xrefs.Ruslan Ermilov2002-12-242-4/+4
| | | | Notes: svn path=/head/; revision=108257
* For now, build and install this as libkse instead of libpthread.Daniel Eischen2002-12-082-3/+3
| | | | | | | | | | This will avoid any accidental use of an experimental library. Suggested by: rwatson Approved by: re (jhb) Notes: svn path=/head/; revision=107687
* Schedule spinlocked threads by moving them through the work queue, insteadJonathan Mini2002-11-241-2/+15
| | | | | | | | | | of the wait queue. Approved by: re (blanket) Stolen from: davidxu Notes: svn path=/head/; revision=107202
* Get the wall clock time from the KSE mailbox, rather than doing anotherJonathan Mini2002-11-241-2/+2
| | | | | | | syscall. Notes: svn path=/head/; revision=107201
* Directly load %edx from mailboxDavid Xu2002-11-231-4/+3
| | | | Notes: svn path=/head/; revision=107183
* In _thread_enter_uts, fix eflags saving bug.David Xu2002-11-222-7/+15
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=107169
* Fix idle timeout bug, use correct current time of day.David Xu2002-11-201-2/+2
| | | | Notes: svn path=/head/; revision=107102
* Adjust code for new mailbox format.David Xu2002-11-181-3/+3
| | | | | | | Reviewed by: deischen, mini Notes: svn path=/head/; revision=107035
* Schedule an idle context to block until timeouts expire without blockingJonathan Mini2002-11-123-107/+89
| | | | | | | further upcalls. Notes: svn path=/head/; revision=106786
* Make pthread_sigmask(3) operate on the thread signal mask, not the processJonathan Mini2002-10-301-1/+27
| | | | | | | signal mask. Notes: svn path=/head/; revision=106193
* Use KSE to schedule threads.Jonathan Mini2002-10-3010-259/+552
| | | | Notes: svn path=/head/; revision=106191
* Add the 'restrict' type qualifier to the prototypes of `sigaction',Robert Drehmel2002-10-022-2/+2
| | | | | | | | | `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. Notes: svn path=/head/; revision=104368
* Zap now-unused SHLIB_MINORPeter Wemm2002-09-281-1/+0
| | | | Notes: svn path=/head/; revision=104073
* Make libpthread KSE aware.Jonathan Mini2002-09-1626-2395/+135
| | | | | | | | Reviewed by: deischen, julian Approved by: -arch Notes: svn path=/head/; revision=103419
* Mechanically change all libc_r references to libpthread.Jonathan Mini2002-09-1652-55/+55
| | | | Notes: svn path=/head/; revision=103412
* Make the changes needed for libpthread to compile in its new home.Jonathan Mini2002-09-1696-234/+193
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=103388
* Remove much of the dereferencing of the fd table entries to lookDaniel Eischen2002-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 Notes: svn path=/head/; revision=102590
* Make the libc_r version of select() set the readable or writableArchie Cobbs2002-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 Notes: svn path=/head/; revision=102586
* When poll(2)'ing for readability or writability of a file descriptorArchie Cobbs2002-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 Notes: svn path=/head/; revision=102546
* Replace various spelling with FALLTHROUGH which is lint()ablePhilippe Charnier2002-08-251-1/+1
| | | | Notes: svn path=/head/; revision=102411
* Add an ia64 atomic lock primitive for libc_r. This is mostly forPeter Wemm2002-07-201-0/+48
| | | | | | | | | | | | | completeness and doesn't get us a working libc_r there because libc_r uses setjmp() and setjmp() cannot be used for context switches on ia64 as-is (or sparc64). Rather than making setjmp/longjmp behave like the *context() calls, it would be far better to make libc_r use *context() directly which is what they are for. Obtained from: marcel Notes: svn path=/head/; revision=100409
* Fix a typo.Maxim Konovalov2002-07-101-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=99720
* Oops, forgot to set the suspended flag for threads that are createdDaniel Eischen2002-07-091-2/+3
| | | | | | | | | | initially suspended. This was preventing such threads from getting resumed. Reported by: Bill Huey <billh@gnuppy.monkey.org> Notes: svn path=/head/; revision=99660
* Fix a couple of minor nits that prevented this from compiling.Daniel Eischen2002-07-021-2/+4
| | | | | | | Pointed out by: julian Notes: svn path=/head/; revision=99239
* Make sigpending and sigsuspend account for signals that are pending onDaniel Eischen2002-06-282-5/+27
| | | | | | | | | the process as well as pending on the current thread. Reported by: Andrew MacIntyre <andymac@bullseye.apana.org.au> Notes: svn path=/head/; revision=98976
* Add a wrapper for pselect() in order to make it a cancellation point.Daniel Eischen2002-06-282-0/+55
| | | | | | | Prompted by: wollman Notes: svn path=/head/; revision=98975
* Missed in earlier commit -- I did cvs commit src/lib/libc. Oops.Robert Watson2002-06-142-8/+0
| | | | Notes: svn path=/head/; revision=98205
* Revamp suspend and resume. While I'm here add pthread_suspend_all_np()Daniel Eischen2002-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. Notes: svn path=/head/; revision=97204
* Undo namespace pollution by prefixing the globals pthread_guard_default andAlfred Perlstein2002-05-154-26/+29
| | | | | | | | | | | pthread_page_size. Fix a bunch line wrapping. Pointed out by: deischen Notes: svn path=/head/; revision=96636
* Don't use PAGE_SIZE in userland, instead use getpagesize(), this is toAlfred Perlstein2002-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 Notes: svn path=/head/; revision=96501
* Use GCC's __attribute__ ((constructor)) mechanism to invoke the pthreadAlfred Perlstein2002-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. Notes: svn path=/head/; revision=96401
* Make these functions cancellation points like they should be:Archie Cobbs2002-05-025-5/+66
| | | | | | | | | | | poll(2), readv(2), select(2), wait4(2), writev(2). PR: bin/37658 Reviewed by: deischen MFC after: 1 week Notes: svn path=/head/; revision=95948
* Make sure calls to pthread_cancel() do not take effect if the targetArchie Cobbs2002-05-021-2/+4
| | | | | | | | | | | thread is already exiting. PR: bin/37614 Reviewed by: deischen MFC after: 1 week Notes: svn path=/head/; revision=95947
* Usage style sweep: spell "usage" with a small 'u'.Dag-Erling Smørgrav2002-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}/. Notes: svn path=/head/; revision=95258
* The GCC developers have made good on their threats against #pragma for 3.1.David E. O'Brien2002-04-151-1/+2
| | | | | | | | | Use __weak_reference in place of the #pragma. Submitted by: eischen Notes: svn path=/head/; revision=94808
* Sync SCM ID comments with libc.David E. O'Brien2002-04-151-7/+9
| | | | Notes: svn path=/head/; revision=94797
* Return correct number of total bits set in all fd_set's.Jeroen Ruigrok van der Werven2002-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 Notes: svn path=/head/; revision=94265
* Do not use __progname directly (except in [gs]etprogname(3)).Mark Murray2002-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. Notes: svn path=/head/; revision=93399
* Add the ability to recognize old references to keys, and return NULLDaniel Eischen2002-03-196-36/+54
| | | | | | | | when old keys are referenced (after pthread_key_delete()) via pthread_getspecific(). Notes: svn path=/head/; revision=92730
* Fix the return code from pthread_rwlock_try[rw|rd]lock() functions;Brian S. Dean2002-03-151-2/+2
| | | | | | | | | these should return EBUSY when the calling thread would block. MFC after: 2 weeks Notes: svn path=/head/; revision=92360