summaryrefslogtreecommitdiffstats
path: root/lib/libc_r
Commit message (Collapse)AuthorAgeFilesLines
* Fix threaded applications on ia64 that are linked dynamicly. We didmarcel2003-03-051-0/+1
| | | | | | | | | | | | | | | | | not save (restore) the global pointer (GP) in the jmpbuf in setjmp (longjmp) because it's not needed in general. GP is considered a scratch register at callsites and hence is always restored after a call (when it's possible that the call resolves to a symbol in a different loadmodule; otherwise GP does not have to be saved and restored at all), including calls to setjmp/longjmp. There's just one problem with this now that we use setjmp/longjmp for context switching: A new context must have GP defined properly for the thread's entry point. This means that we need to put GP in the jmpbuf and consequently that we have to restore is in longjmp. This automaticly requires us to save it as well. When setjmp/longjmp isn't used for context switching, this can be reverted again.
* Don't cast an int to a pointer type without (possibly) widening themarcel2003-03-051-1/+1
| | | | | | | | | | | integral type to the size of a pointer type when it's known that the cast is valid. On ia64 such casts are generally bad news and has led us (=peter :-) to make such casts fatal. By casting to intptr_t before casting to a pointer type, this now compiles cleanly in LP64 architectures. Note that the final cast has been changed to void* (instead of siginfo_t*) to make it explicit that we're not trying to pass a siginfo_t pointer but rather trying to pass an int when the prototype says it should be a pointer.
* Fixed a typo in MLINKS.ru2003-02-241-1/+1
|
* mdoc(7) police: Scheduled sweep.ru2003-02-2413-154/+124
|
* Enable just committed manual pages, update MLINKSphantom2003-02-131-0/+13
|
* Add AUTHORS sectionphantom2003-02-131-0/+6
|
* Finally! Document all undocumented functions in libc_r.phantom2003-02-1310-0/+696
| | | | | | | | | | | | | | | | | | | | Add manual pages for following functions: . pthread_attr_setcreatesuspend_np(3) . pthread_main_np(3) . pthread_multi_np(3) . pthread_single_np(3) . pthread_mutexattr_getkind_np(3) . pthread_mutexattr_setkind_np(3) . pthread_resume_all_np(3) . pthread_resume_np(3) . pthread_set_name_np(3) . pthread_suspend_all_np(3) . pthread_suspend_np(3) . pthread_switch_add_np(3) . pthread_switch_delete_np(3) MFC after: 3 days
* Break important implementation detail note into IMPLEMENTATION DETAILSphantom2003-02-131-3/+7
| | | | | | section. Add cross reference to pthread_attr_getstack() function. MFC after: 1 day
* Add cross reference for pthread_attr_get_np()phantom2003-02-131-0/+1
|
* Rehash MLINKS: add missing ones for recently added pthread_attr_{get,set}stack()phantom2003-02-131-3/+2
| | | | functions and remove links for 3 non-existent functions
* Actually link in the attr_{set,get}stack.alfred2003-02-111-0/+2
|
* Add pthread_attr_getstack() and pthread_attr_setstack().alfred2003-02-103-0/+125
| | | | Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* The .Fn functioncharnier2003-02-0611-29/+58
|
* Document additional behaviour of this function (seephantom2003-02-031-2/+12
| | | | rev 1.3 of uthread_attr_get_np.c)
* Improve pthread_attr_get_np() by enabling it to return thread's real stackphantom2003-02-031-1/+9
| | | | | | address instead of specified by pthread_attr_t passed to pthread_create(). Suggested by: deischen
* remove #ifdef _THREAD_SAFEfjoe2003-01-241-2/+0
|
* Add a missing word.tjr2003-01-151-1/+1
|
* Document the named semaphore functions. This could still use a bittjr2003-01-151-18/+165
| | | | of polishing.
* Back out previous; sharing semaphores between processes only workstjr2003-01-141-8/+16
| | | | in certain special cases.
* Sharing semaphores between processes works now, so remove the stale commentstjr2003-01-141-16/+8
| | | | | about it always returning EPERM. Document that ENFILE occurs when the limit on kernel semaphores is reached.
* Cross reference sem(4) so users know which kernel options are requiredtjr2003-01-145-5/+10
| | | | to use these semaphore functions.
* Increase the scheduler stack to 4 pages. This should prevent a stackdeischen2003-01-111-1/+1
| | | | | | overflow when dumping thread info (generated by receipt of SIGINFO). Reported by: jmallet
* pthread_attr_get_np() now takes 'pthread_t' (not 'pthread_t *')fjoe2003-01-072-9/+8
| | | | to be consistent with other pthread_XXX functions
* Port libc_r to ia64. We need to do things slightly differentmarcel2003-01-064-0/+44
| | | | | | | | | | | because we have 2 stacks per thread: the regular downward memory stack and the irregular upward register stack. This implementation lets both stacks grow toward each other. An alternative scheme is to have them grow away from each other. The alternate scheme has the advantage that both stack grow toward guard pages. Since libc_r is virtually dead and we really want the *context stuff for thread switching, we don't try to be perfect, just functional.
* Add MD definitions for sparc64. This is based on work by des.tmm2003-01-051-0/+29
|
* Add an implementation of _atomic_lock for sparc64. This was submitted bytmm2003-01-051-0/+45
| | | | | des; I tweaked it slightly by extending the membar and making it match the style of the rest of the sparc64 assembler code.
* Fix typos in comment.deischen2002-12-281-2/+2
| | | | Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* english(4) police.schweikh2002-12-273-3/+3
|
* mdoc(7) police: Deal with self-xrefs.ru2002-12-242-4/+5
|
* Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(),ru2002-12-196-6/+80
| | | | | | and sendto() cancelation points, as required by POSIX.1-2001. Reviewed by: deischen
* mdoc(7) police: overhaul.ru2002-12-091-12/+12
|
* Implement the lock with a cmpxchg instruction instead of a xchg.marcel2002-11-161-2/+3
| | | | | | | | | | Both are atomic, but the cmpxchg has memory ordering hints. We give this acquire semantics. NOTE: The unlock in libc_r is implemented by a "normal" assign statement. This is not correct on ia64 due to the memory ordering characteristics of the architecture. We need release semantics for an unlock.
* When about to do an execve(), don't reset the O_NONBLOCK flag on any filearchie2002-11-151-0/+4
| | | | | | | | | descriptors that have the close-on-exec flag set, as that will have no effect anyway and might screw something else up if the file descriptor happens to be shared with another process. PR: standards/43335 MFC after: 1 week
* At initialization, override the pthread stub routines in libcdeischen2002-11-1319-136/+245
| | | | | | | | | by filling in the jump table. Convert uses of pthread routines within libc_r to use the internal versions (_pthread_foo instead of pthread_foo). Remove a couple of globals from application namespace.
* Fix bogus return values from libc_r's writev() routine in situations wherearchie2002-11-121-6/+21
| | | | | | | a partial-write is followed by an error. PR: 43335 MFC after: 3 days
* Fix bogus return values from libc_r's write() routine in situations wherearchie2002-11-051-6/+21
| | | | | | | a partial-write is followed by an error. PR: 43335 MFC after: 1 week
* Use the strong symbol'd version of pthread_mutex_init so we don'tdeischen2002-10-311-2/+2
| | | | | | | accidentally call a stub or application provided version of the same routine. Submitted by: dfr
* Add & hookup manpage for pthread_attr_get_np(3).phantom2002-10-262-0/+96
| | | | MFC after: 3 days
* Hook uthread_attr_get_np.c to buildphantom2002-10-261-0/+1
|
* Add pthread_attr_get_np() function. This is FreeBSD non-portable POSIX threadsphantom2002-10-261-0/+50
| | | | | | | | | extenston function. It supposed to provide facility to get already created thread's attributes. Looks like it's last thing we need to make JDK's Hotspot building without requirement to have source tree. Reviewed by: deischen MFC after: 3 days
* Be more agresive on arguments' checking.phantom2002-10-261-1/+4
| | | | | OK'ed by: deischen MFC after: 3 days
* remove unused __sys_sigaltstack() declarationfjoe2002-10-221-1/+0
| | | | Approved by: deischen
* When dumping thread info, only include the filename and line if we actuallyjmallett2002-10-201-3/+9
| | | | | | | know what file! (Prevents use of NULL). MFC after: 1 day Reviewed by: deischen
* FD locking is not enabled anymore, so the table which contains the ownerjmallett2002-10-171-4/+0
| | | | | | | | of a file descriptor has NULL entries, so don't dereference the table entries to get the owners ever -- don't print the owners when processing a thread_dump request as a result of SIGINFO. Reviewed by: deischen
* fix typo in comments (in preparation for MFC)fjoe2002-10-151-1/+1
| | | | Approved by: deischen
* Dump in $TMPDIR if !setugid, and use mode 0644 instead of 0666.kris2002-10-131-7/+11
| | | | MFC after: 2 weeks
* Once again, remove the i386-specific hacks to save and restoredeischen2002-10-051-9/+0
| | | | | | | | the FPU state on receiving and returning from a signal. The FPU save and restore macros are no longer needed, but remain defined in case we need to use them again (something else breaks). They'll be removed permanently once new syscalls are added to handle the new i386 ucontext size.
* Add restrict type-qualifier to sem_getvalue().mike2002-10-041-1/+1
|
* Add the 'restrict' type qualifier to the prototypes of `sigaction',robert2002-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.
* Install library-installed signal handlers with the SA_RESTART flagdeischen2002-09-303-3/+3
| | | | set.
OpenPOWER on IntegriCloud