Attilio Rao
9235ed7199
Use, in uncovered part, the END() macro in order to improve debugging.
...
In this specific case, Valgrind won't get confused when analyzing such
functions.
Sponsored by: Sandvine Incorporated
Tested by: emaste
MFC: 3 days
2009-05-25 14:37:10 +00:00
Jung-uk Kim
455cc6ec70
Honor WITHOUT_INSTALLLIB in some places.
2009-02-13 16:51:36 +00:00
Daniel Eischen
9eb1eb548a
Fix leak of kqueue() file descriptors when linked with static
...
libc_r.
PR: 58687
Submitted by: Jonathon Lennox <lennox at cs dot columbia dot edu>
2009-02-08 06:44:58 +00:00
Doug Rabson
cd7d66a21f
Call the fcntl compatiblity wrapper from the thread library fcntl wrappers
...
so that they get the benefit of the (limited) forward ABI compatibility.
MFC after: 1 week
2008-05-30 14:47:42 +00:00
Christian Brueffer
662cac9f23
Fix some "in in" typos in comments.
...
PR: 121490
Submitted by: Anatoly Borodin <anatoly.borodin@gmail.com>
Approved by: rwatson (mentor), jkoshy
MFC after: 3 days
2008-03-26 07:32:08 +00:00
Daniel Eischen
419ecd5dee
Bump library versions in preparation for 7.0.
...
Ok'd by: kan
2007-05-21 02:49:08 +00:00
Ruslan Ermilov
539e7a7770
Fix a logic bug I re-introduced in my patch I sent to Daniel
...
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.
PR: amd64/112509
2007-05-18 12:25:48 +00:00
Daniel Eischen
683f4c0a40
Allow DEFAULT_THREAD_LIB to be set from /etc/src.conf.
...
Submitted by: ru
2007-05-17 04:54:35 +00:00
Daniel Eischen
00fb440c1a
Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
...
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).
Change the default thread library to libthr.
There most likely still needs to be a version bump for at least the
thread libraries. If necessary, this will happen later.
2007-05-13 14:12:40 +00:00
Warner Losh
fed32d7544
Remove 3rd clause, renumber, ok per email
2007-01-12 07:26:21 +00:00
Tor Egge
2a99cc4322
Backout unblocking of signal if no threads can currently handle it.
...
The check for pending signal after direct invocation of signal handler
is sufficient.
2006-10-14 01:11:44 +00:00
Tor Egge
081871afc8
Delay unblocking signal and restoring process signal mask until the
...
thread signal mask has been updated to avoid stack overflow during signal
bursts.
Don't block signal forever if no threads can currently handle signal.
Check for pending signal after direct invocation of signal handler.
2006-10-13 20:12:07 +00:00
Tor Egge
c8b69d87c0
Delay setting wakeup time until after poll array has been allocated.
...
Blocking on the malloc spinlock would cause the select timeout to be lost.
2006-10-13 20:04:13 +00:00
Tor Egge
ed5348ec19
Sync thread jump table with libc and other thread libraries.
2006-10-13 20:01:40 +00:00
Ruslan Ermilov
2b46c64c9c
Remove alpha left-overs.
2006-08-22 08:03:01 +00:00
Ruslan Ermilov
320008a3d7
Fix a symlink.
2006-04-12 19:51:14 +00:00
Ruslan Ermilov
5740a2b62d
Convert NO_PROFILE and NO_LIB32 to new style.
2006-03-18 21:37:05 +00:00
Stefan Farfeleder
ad7c49168f
- Prefix MUTEX_TYPE_MAX with PTHREAD_ to avoid namespace pollution.
...
- Remove the macros MUTEX_TYPE_FAST and MUTEX_TYPE_COUNTING_FAST.
OK'ed by: deischen
2005-08-19 21:31:42 +00:00
Ken Smith
a84020c2b9
Bump the shared library version number of all libraries that have not
...
been bumped since RELENG_5.
Reviewed by: ru
Approved by: re (not needed for commit check but in principle...)
2005-07-22 17:19:05 +00:00
John Baldwin
2bd979f7a3
Mark _thread_exit() and __sys_exit() as __dead2 to quiet some warnings.
2005-05-31 19:57:23 +00:00
John Baldwin
94e7919893
Style tweak.
2005-05-31 19:56:52 +00:00
Xin LI
8dcb56dc78
Provide more POSIX-complaint ttyname_r(3) interface[1], which is slightly
...
different from what has been offered in libc_r (the one spotted in the
original PR which is found in libthr has already been removed by David's
commit, which is rev. 1.44 of lib/libthr/thread/thr_private.h):
- Use POSIX standard prototype for ttyname_r, which is,
int ttyname_r(int, char *, size_t);
Instead of:
char *ttyname_r(int, char *, size_t);
This is to conform IEEE Std 1003.1, 2004 Edition [1].
- Since we need to use standard errno for return code, include
errno.h in ttyname.c
- Update ttyname(3) implementation according to reflect the API
change.
- Document new ttyname_r(3) behavior
- Since we already make use of a thread local storage for
ttyname(3), remove the BUGS section.
- Remove conflicting ttyname_r related declarations found in libc_r.
Hopefully this change should not have changed the API/ABI, as the ttyname_r
symbol was never introduced before the last unistd.h change which happens a
couple of days before.
[1] http://www.opengroup.org/onlinepubs/009695399/functions/ttyname.html
Requested by: Tom McLaughlin <tmclaugh sdf lonestar org>
Through PR: threads/76938
Patched by: Craig Rodrigues <rodrigc crodrigues org> (with minor changes)
Prompted by: mezz@
2005-05-13 16:27:30 +00:00
Joe Marcus Clarke
d525de835f
Increase the default stacksizes:
...
32-bit 64-bit
main thread 2 MB 4 MB
other threads 1 MB 2 MB
Adapted from: libpthread
Approved by: deischen
2005-02-28 17:15:31 +00:00
Jeffrey Hsu
2353e77b0f
More fixes to the copyright notice.
...
Submitted by: Ken Smith <kensmith@cse.Buffalo.EDU>
2005-01-08 17:16:43 +00:00
Jeffrey Hsu
c26a1d9f0e
Fix copyright notice.
2005-01-08 01:59:36 +00:00
Ruslan Ermilov
ab7a294721
NODOCCOMPRESS -> NO_DOCCOMPRESS
...
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
2004-12-21 09:33:47 +00:00
Greg Lehey
00c948e4ce
Add pthread_atfork().
...
PR: bin/68841
Submitted by: Dan Nelson <dnelson@allantgroup.com>
2004-12-10 03:36:45 +00:00
David Schultz
6004362e66
Don't include sys/user.h merely for its side-effect of recursively
...
including other headers.
2004-11-27 06:51:39 +00:00
Ruslan Ermilov
a35d88931c
For variables that are only checked with defined(), don't provide
...
any fake value.
2004-10-24 15:33:08 +00:00
Stefan Farfeleder
4eae39bfdf
Avoid using void pointers in additive expressions.
...
PR: 56653
2004-08-14 17:46:10 +00:00
Colin Percival
1c81bd2c60
style cleanup: Remove duplicate $FreeBSD$ tags.
...
These files had tags after teh copyright notice,
inside the comment block (incorrect, removed),
and outside the comment block (correct).
Approved by: rwatson (mentor)
2004-02-10 20:45:28 +00:00
Daniel Eischen
baadb27d98
Correct the link for the profiling library.
2004-01-31 17:00:04 +00:00
Daniel Eischen
bd224d495e
Change libkse back to libpthread and make it the default
...
thread library for i386, amd64, and ia64. For alpha
and sparc64 the library is not changed and remains libkse,
and links are installed so that libpthread -> libc_r.
The gcc -pthread option will be changed in a separate
commit so that it links to -lpthread instead of -lc_r.
Approved by: re@
2004-01-30 12:13:17 +00:00
Daniel Eischen
39edba076e
Initialize the (i386) frame pointer when setting up a thread
...
context.
Submitted by: Marc Olzheim <marcolz@stack.nl>
Tested by: Marc Olzheim <marcolz@stack.nl>
2004-01-22 19:15:08 +00:00
Ruslan Ermilov
ec7452f103
Have a single set of POSIX threads man pages. The LIBRARY section
...
of each manpage lists libraries that have corresponding interfaces
implemented.
Prodded by: threads
Reviewed by: deischen
2004-01-14 21:44:26 +00:00
Ruslan Ermilov
1f0bfc3ee5
The libc_r/man/sigwait.3 manpage has been repocopied to libc/sys/sigwait.2.
...
Reviewed by: deischen
Repocopy by: markm
2004-01-14 21:22:10 +00:00
Ruslan Ermilov
fccedf067d
- libc/sys/sem.c was repocopied to libc/gen/sem.c.
...
- sem_*(3) manpages were repocopied from libc_r.
Reviewed by: deischen
Repocopy by: markm
2004-01-14 20:54:16 +00:00
Daniel Eischen
7d7a08f174
MFlibpthread: Add a simple work-around for deadlocking on recursive
...
readlocks on a rwlock while there are writers waiting.
2004-01-08 15:39:12 +00:00
Daniel Eischen
eae42a5949
Reenable signals for threads after joining.
...
Submitted by: Marc Olzheim <marcolz@stack.nl>
2003-12-31 13:41:54 +00:00
Ruslan Ermilov
e09cec395d
Pull revision 1.13 from libpthread/man/pthread_mutex_init.3:
...
- Remove error code that can't be returned (and original description
was not proper English)
PR: docs/57434
2003-12-30 15:44:16 +00:00
Daniel Eischen
6512f49fe6
Return to the caller if write() returns 0.
...
PR: 59291
2003-12-17 16:44:03 +00:00
Peter Wemm
29f2f145e4
For the amd64 we need to do some extra stack alignment fixups. Otherwise
...
we can end up with some threads with a non-16-byte-aligned stack. This
causes some interesting side effects, including general protection
faults leading to a SIGBUS when doing floating point or varargs. This
should be just a verbose NOP for the other platforms.
Approved by: re (scottl)
2003-12-03 06:54:40 +00:00
Daniel Eischen
fcd58c1978
If __sys_write() returns 0, allow that to exit the loop in libc_r's
...
wrapped version of write().
Submitted by: dan@langille.org
2003-09-29 13:41:26 +00:00
Ruslan Ermilov
959d6c24f6
Get rid of duplicates.
2003-09-14 13:41:59 +00:00
Ruslan Ermilov
fe08efe680
mdoc(7): Use the new feature of the .In macro.
2003-09-08 19:57:22 +00:00
Mark Peek
6fcd700395
Add wrapper for kqueue() to keep track of the allocated fd and allow it to
...
be closed. This fixes a file descriptor leak when closing a kqueue() fd.
Reviewed by: deischen
MFC after: 1 week
2003-07-25 17:02:33 +00:00
Daniel Eischen
209afb2603
Remove -D_THREAD_SAFE.
...
Submitted by: Craig Rodrigues <rodrigc@crodrigues.org>
2003-07-13 05:35:30 +00:00
Ruslan Ermilov
a5d7d2028e
Make libc/${MACHINE_ARCH} include directory not required by Alpha.
...
Submitted by: bde
Tested by: beast
2003-07-02 13:27:54 +00:00
Alexander Kabaev
3867e1fd68
libc/${MACHINE_ARCH} include directory is required by Alpha,
...
add it to CFLAGS.
2003-07-02 01:52:06 +00:00
Ruslan Ermilov
0b3cbc5c38
Axe AINC.
...
Submitted by: bde
2003-07-01 15:07:01 +00:00