Commit Graph

8220 Commits

Author SHA1 Message Date
emax
a67ee2bd6e Prepare libsdp(3) for the upcoming sdpd import
Also while i'm here s/u_int/uint

Reviewed by:	imp (mentor), ru
2004-01-09 18:19:12 +00:00
nectar
11f80dcf0d Provide sysarch(2) prototypes in the MD sysarch.h headers. While I'm
at it, use the ANSI C generic pointer type for the second argument,
thus matching the documentation.

Remove the now extraneous (and now conflicting) function declarations
in various libc sources.  Remove now unnecessary casts.

Reviewed by:	bde
2004-01-09 16:52:09 +00:00
nectar
9b32167d5f It was reported that when using nss_ldap, getgrent(3) would behave
incorrectly when encountering `large' groups (many members and/or many
long member names).  The reporter tracked this down to the glibc NSS
module compatibility code (nss_compat.c): it would prematurely record
that a NSS module was finished iterating through its database in some
cases.

Two aspects are corrected:

1. nss_compat.c recorded that a NSS module was finished iterating
   whenever the module reported something other than SUCCESS.  The
   correct logic is to continue iteration when the module reports
   either SUCCESS or RETURN.  The __nss_compat_getgrent_r and
   __nss_compat_getpwent_r routines are updated to reflect this.

2. An internal helper macro __nss_compat_result is used to map glibc
   NSS status codes to BSD NSS status codes (e.g. NSS_STATUS_SUCCESS ->
   NS_SUCCESS).  It provided the obvious mapping.

   When a NSS routine is called with a too-small buffer, the
   convention in the BSD NSS code is to report RETURN.  (This is used
   to implement reentrant APIs such as getpwnam_r(3).)  However, the
   convention in glibc for this case is to set errno = ERANGE and
   overload TRYAGAIN.  __nss_compat_result is updated to handle this
   case.

PR:		bin/60287
Reported by:	Lachlan O'Dea <odela01@ca.com>
2004-01-09 13:43:49 +00:00
deischen
47d6f075e0 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
deischen
b5d5c1e2e6 Add a simple work-around for deadlocking on recursive read locks
on a rwlock while there are writers waiting.  We normally favor
writers but when a reader already has at least one other read lock,
we favor the reader.  We don't track all the rwlocks owned by a
thread, nor all the threads that own a rwlock -- we just keep
a count of all the read locks owned by a thread.

PR:	24641
2004-01-08 15:37:09 +00:00
nectar
42a056d4f8 Adjust for brain outage that affected the previous commit.
Submitted by:	Stefan Farfeleder <stefan@fafoe.narf.at>
2004-01-06 20:29:40 +00:00
nectar
e87a51f854 Add required headers. 2004-01-06 19:40:28 +00:00
nectar
3caa6a8523 Add required headers and function declarations. 2004-01-06 19:28:07 +00:00
nectar
34b6220e44 Remove unused variables. Add required headers and function
declarations.
2004-01-06 18:53:26 +00:00
nectar
0614df8c40 Use ANSI C function definition for _mcount' and remove static'
prototype from header file.

Discussed with:	bde, maybe one year ago
2004-01-06 18:49:54 +00:00
nectar
9f90d04060 Add missing declaration. 2004-01-06 18:45:58 +00:00
nectar
cdff4028d6 Work around a `warning: zero-length printf format string'. 2004-01-06 18:45:13 +00:00
nectar
d76901e917 Avoid undefined behavior:
foo[i] = bar[++i];  /* Which operator [] will be evaluated first? */
2004-01-06 18:43:31 +00:00
nectar
a455b2e93e Make intentions explicit with additional parenthesis. 2004-01-06 18:32:24 +00:00
nectar
c281d0e2ea Remove unused variables and function declarations. Add missing headers. 2004-01-06 18:26:15 +00:00
davidxu
f3e2bcfe4c Kernel now supports per-thread sigaltstack, follow the change to
enable sigaltstack for scope system thread.
2004-01-03 02:40:27 +00:00
davidxu
32583a78cf Return error code in errno, not in return value. 2004-01-02 00:38:42 +00:00
davidxu
abb0f21d58 Fix a typo. 2004-01-02 00:27:30 +00:00
deischen
15847c4488 Reenable signals for threads after joining.
Submitted by:	Marc Olzheim <marcolz@stack.nl>
2003-12-31 13:41:54 +00:00
ru
af0a846800 Removed MLINKS to nonimplemented/nonexistent functions. 2003-12-30 17:13:20 +00:00
ru
00755078ab Merge from libc_r: document pthread_attr_[gs]etstack(). 2003-12-30 17:08:23 +00:00
ru
c387e07b72 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
ru
67877ecd48 Pull some changes (mostly cosmetic) from libc_r manpages
in preparation for the merge.
2003-12-30 14:59:10 +00:00
mtm
81dc42d3d9 o Implement pthread_mutex_timedlock(), which does not block indefinitely on
a mutex locked by another thread.
o document it: pthread_mutex_timedlock(3)
2003-12-30 08:44:55 +00:00
mtm
d4f59be550 Make it possible for the library to specify a timeout value when
waiting on a locked mutex. This involves passing a struct timespec
from the pthread mutex locking interfaces all the way down to the
function that suspends the thread until the mutex is released.
The timeout is assumed to be an absolute time (i.e. not relative to
the current time).

Also, in _thread_suspend() make the passed in timespec const.
2003-12-30 08:34:57 +00:00
davidxu
d6b72f0aa3 Forgot to commit this file for last commit. :( 2003-12-29 23:33:51 +00:00
davidxu
8d750bfb1b Implement sigaltstack() as per-threaded. Current only scope process thread
is supported, for scope system process, kernel signal bits need to be
changed.

Reviewed by: deischen
Tested on  : i386 amd64 ia64
2003-12-29 23:21:09 +00:00
maxim
aef221ac80 Describe kern.ipc.nsfbufsused and kern.ipc.nsfbufspeak.
Reviewed by:	silby
2003-12-29 12:29:37 +00:00
davidxu
d2abf7e6f9 Correctly retrieve sigaction flags. 2003-12-28 12:20:04 +00:00
dfr
8f76255422 Don't block SIGTRAP - it makes it hard to debug programs with gdb.
Reviewed by: mtm
2003-12-26 12:11:16 +00:00
dfr
de5cd0573f Make sure we initialise dirp->dd_size if we aren't reading a unionfs
directory.

Special thanks to: valgrind
2003-12-26 12:00:46 +00:00
mtm
dd97c7c8fa Preparations to make libthr work in multi-threaded fork()ing applications.
o Remove some code duplication between _thread_init(), which is run once
  to initialize libthr and the intitial thread, and pthread_create(), which
  initializes newly created threads, into a new function called from both
  places: init_td_common()
o Move initialization of certain parts of libthr into a separate
  function. These include:
	- Active threads list and it's lock
	- Dead threads list and it's lock & condition variable
	- Naming and insertion of the initial thread into the
	  active threads list.
2003-12-26 08:16:17 +00:00
alfred
354c5cd6a5 Add restrict qualifiers. (docs)
PR: 44394
Submitted by: Craig Rodrigues <rodrige@attbi.com>
2003-12-24 18:52:41 +00:00
ache
b89dd89c31 Properly advance "x/y/z" form slash-pointers in some rare cases
PR:             60539
2003-12-24 10:16:46 +00:00
trhodes
151da8eaf6 Back out previous commit due to incorrect content.
Noticed by:	wollman
2003-12-23 18:42:55 +00:00
trhodes
de65edfbfd Document many of the missing posix.1b options.
PR:		20528
Submitted by:	bms (original version)
Requested by:	mike (awhile ago)
2003-12-23 17:29:35 +00:00
rushani
38a3a575b5 Correct URI to USB specs.
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
PR:		docs/60457
2003-12-21 14:30:23 +00:00
kan
09cff15526 Implement __cxa_atexit/__cxa_finalize as specified by the cross-vendor
ó++ ABI document at http://www.codesourcery.com/cxx-abi/abi.html#dso-dtor

The ABI was initially defined for ia64, but GCC3 and Intel compilers
have adopted it on other platforms.

This is the patch from PR bin/59552 with a number of changes by
me.

PR:		bin/59552
Submitted by:	Bradley T Hughes (bhughes at trolltech dot com)
2003-12-19 17:11:21 +00:00
kan
caabe90547 Implement __cxa_atexit/__cxa_finalize as specified by the cross-vendor
C++ ABI document at http://www.codesourcery.com/cxx-abi/abi.html#dso-dtor

The ABI was initially defined for ia64, but GCC3 and Intel compilers
have adopted it on other platforms.

This is the patch from PR bin/59552 with a number of changes by
me.

PR:		bin/59552
Submitted by:	Bradley T Hughes (bhughes at trolltech dot com)
2003-12-19 17:11:20 +00:00
davidxu
7b3cca8521 Replace a comment with more accurated one, memory heap is now protected by
new fork() wrapper.
2003-12-19 13:24:54 +00:00
davidxu
c7be5e14dc Code clean up, remove unused MACROS and function prototypes. 2003-12-19 12:57:08 +00:00
ache
750b0b565d First byte of GBK-like sequences is 0x81, not 0x80 2003-12-19 12:54:42 +00:00
jkh
4b15405096 Brucification: Don't initialize in declaration, make sure extra lines
follow declaration section.
2003-12-18 07:44:53 +00:00
deischen
82fa343f7c Return to the caller if write() returns 0.
PR:	59291
2003-12-17 16:44:03 +00:00
jkh
88ce59ac21 Do comparison using appropriate casting first, as per SUSv3 (search for first
[last] character, not int).
2003-12-17 02:46:48 +00:00
mtm
7be2523683 Remove _giant_mutex and its associated macros. 2003-12-15 12:38:06 +00:00
mtm
7ecd6a1166 Comment out most of pthread_setschedparam. Pthread priorities didn't
work before anyways, and I didn't want to fix broken code I had no
way of testing. It was necessary however, in order to get rid of GIANT_LOCK.
Pthread priorities will have to wait a little longer to get fixed.
2003-12-15 12:31:46 +00:00
mtm
0593ac4cbb When creating a pthread in the suspended state their were two
problems: (1) The wrong flag was being checked for in the attribute
	  (2) The pthread's state was not being set to indicate it was
	      suspended.

Noticed by: Igor Sysoev <is@rambler-co.ru>
2003-12-15 09:35:02 +00:00
jkoshy
a2e08c3ed4 Document the effect of sysctl tunables controlling p_candebug(9) on
ktrace(2).
2003-12-14 14:54:53 +00:00
mtm
5d9c0f84f1 Doh! Lock the thread passed in by the caller, not the current thread. 2003-12-12 09:51:39 +00:00