davidxu
84187b477c
The thr_new sysscall was already in libc, don't generate it.
2006-01-11 06:10:05 +00:00
davidxu
1218aa5627
Use macro STATIC_LIB_REQUIRE to declare a symbol should be linked into
...
static binary.
2006-01-10 04:53:03 +00:00
davidxu
36bb818343
Rescue pthread_set_name_np for compatible reason, remove unused code.
2006-01-09 08:07:22 +00:00
davidxu
8798f9bcec
Tweak macro THR_LOCK_RELEASE a bit for non-PTHREAD_INVARIANTS case.
2006-01-09 07:32:22 +00:00
davidxu
db9594be6e
Return real detached state.
2006-01-09 03:59:51 +00:00
davidxu
6f27a53b6f
Fix a bug recently introduced, the _thread_active_count should be
...
decreased if thread can not be created.
2006-01-08 10:13:18 +00:00
davidxu
d1f7b6d605
Allow background threads to be suspended.
2006-01-08 01:49:31 +00:00
davidxu
4c4f339838
Try to reduce total time needed for suspending all threads,
...
first broadcast signals to all threads, then enter a wait loop.
2006-01-08 01:48:51 +00:00
davidxu
f04292bb19
Remove functions i386_get_gsbase and i386_set_gsbase, they were already
...
in libc.
2006-01-07 06:01:43 +00:00
davidxu
d6c88c0f27
Refine thread suspension code, now thread suspension is a blockable
...
operation, the caller is blocked util target threads are really
suspended, also avoid suspending a thread when it is holding a
critical lock.
Fix a bug in _thr_ref_delete which tests a never set flag.
2006-01-05 13:51:22 +00:00
davidxu
45180066f9
1. Add SIGEV_THREAD notification for mq_notify.
...
2. Reuse current timer code and abstract some common code to
to support both timer and mqueue.
2006-01-04 11:48:02 +00:00
davidxu
46ad9344c2
Remove in-progress wait code to sync with libpthread's behavior.
2006-01-03 13:30:23 +00:00
davidxu
2d34e45c94
Let _mutex_cv_lock call internal functiona mutex_lock_common.
2005-12-21 05:14:07 +00:00
davidxu
5ac55e9c46
Hide umtx API symbols as well.
2005-12-21 03:53:29 +00:00
davidxu
8d9e23fb51
1. Retire macro SCLASS, instead simply use language keyword and
...
put variables in thr_init.c.
2. Hide all global symbols which won't be exported.
2005-12-21 03:14:06 +00:00
davidxu
3e60ee73cb
Follow the mistake in libpthread, the first version name in libpthread
...
is LIBTHREAD_1_0, but really it should be LIBPTHREAD_1_0.
Fix it so libmap.conf works again (it was broken by recent versioning
code in rtld_elf).
2005-12-21 02:34:20 +00:00
davidxu
a8cc7e07c2
Clear return code to zero if joiner successfully waited joinee.
...
Bug reported by: jasone at connonware when using ports lang/onyx
MFC after: 3 days
2005-12-19 03:20:55 +00:00
davidxu
272f64aa70
Update copyright.
2005-12-17 09:42:45 +00:00
davidxu
7bdde27518
Remove unused _get_curthread() call.
2005-12-12 07:14:57 +00:00
davidxu
ae161ac239
Fix name compatible problem with POSIX standard. the sigval_ptr and
...
sigval_int really should be sival_ptr and sival_int.
Also sigev_notify_function accepts a union sigval value but not a
pointer.
2005-11-04 09:41:00 +00:00
davidxu
3e97a4d0bd
Remove a redundant _get_curthread() call.
2005-11-02 14:06:29 +00:00
davidxu
e623529523
In raise(), use a shortcut to directly send signal to current thread.
2005-11-02 13:52:48 +00:00
davidxu
326dbaf282
Fix some comments, eliminate a memory leak.
2005-11-01 13:05:47 +00:00
davidxu
e3fd454017
Use TIMERS_UNLOCK.
2005-11-01 07:05:32 +00:00
davidxu
185b13c547
Add code to handle timer_delete(). The timer wrapper code is completely
...
rewritten, now timers created with same sigev_notify_attributes will
run in same thread, this allows user to organize which timers can
run in same thread to save some thread resource.
2005-11-01 06:53:22 +00:00
davidxu
363ab5c566
Add thread exit handler in timer_loop to handle broken buggy code which
...
could lead to memory leak.
2005-10-30 23:59:01 +00:00
davidxu
77f9fea7ac
Add timer_create wrapper.
2005-10-30 03:16:30 +00:00
davidxu
2039945090
Remove unused variable.
...
Reviewed by: cognet
2005-10-29 13:40:31 +00:00
davidxu
3882c07f39
Kill unused variable declaration.
2005-10-29 03:08:43 +00:00
davidxu
912a374cd0
Link libthr to libpthread on Alpha and Sparc.
2005-10-27 10:21:23 +00:00
davidxu
3aca9ad9f9
Add experiment code to implement POSIX timer's SIGEV_THREAD notification.
2005-10-26 11:08:32 +00:00
davidxu
0929747005
Follow the change in kernel, joiner thread just waits at thread id
...
address, let kernel wake it up.
2005-10-26 07:11:43 +00:00
davidxu
108506206f
Put pthread_condattr_init sorted order.
2005-10-25 00:09:58 +00:00
davidxu
841a0c67c5
Export following functions:
...
_pthread_mutexattr_getpshared
_pthread_mutexattr_setpshared
pthread_condattr_getpshared
pthread_condattr_setpshared
pthread_mutexattr_getpshared
pthread_mutexattr_setpshared
2005-10-24 05:20:04 +00:00
davidxu
f8a456fe19
Add functions pthread_mutexattr_setpshared and pthread_mutexattr_getpshared.
2005-10-24 05:16:41 +00:00
davidxu
f24893fc40
The pthread_attr_set_createsuspend_np was broken, fix it by
...
replacing THR_FLAGS_SUSPENDED with THR_FLAGS_NEED_SUSPEND.
2005-10-10 12:15:07 +00:00
davidxu
424c2c3a12
Sort function names.
2005-10-04 08:28:46 +00:00
davidxu
6459dc5d9d
Add function pthread_timedjoin_np, the function is similar with pthread_join
...
except the function will return ETIMEDOUT if target thread does not exit
before specified absolute time passes.
2005-10-04 06:15:25 +00:00
stefanf
be47cc4f82
Include needed headers that were obtained through <pthread.h>. Sort headers
...
while here.
2005-09-01 15:21:23 +00:00
stefanf
cb1c3eea78
- 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
deischen
a1a323c7ed
Add usleep to the map files.
...
Noticed by: davidxu
2005-08-03 01:54:52 +00:00
deischen
6f4c090af6
Add a cancellation point for usleep().
...
While here, fix sleep() so that it is also a cancellation point (a
missing weak reference prevented that).
2005-08-03 00:47:31 +00:00
davidxu
dc3be45bb9
Cast to uintptr_t to avoid compiler warning, it was broken by
...
the recent atomic_ptr() change.
2005-07-28 03:34:54 +00:00
kensmith
f97f77429f
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
davidxu
4a65a73e58
Fix off-by-one nanosecond bug in macro TIMESPEC_ADD.
...
Reviewed by: deischen
Approved by: re (dwhite)
MFC after : 4 days
2005-06-22 22:38:56 +00:00
ru
7cec114952
Markup fixes.
...
Approved by: re
2005-06-16 19:01:07 +00:00
rwatson
cbb1ab3809
Remove incorrect BUGS entry: libthr does support process-scope thread
...
scheduling.
MFC after: 1 week
Submitted by: davidxu
Approved by: re (scottl)
2005-06-15 15:21:10 +00:00
rwatson
dffb6088ac
Add a stub libthr(3) man page to document what it is and why, as well as
...
to point at libmap.conf(5). This will help answer questions about what
and why it is, although not in great detail.
Approved by: re (scottl)
MFC after: 1 week
MFC note: When MFC'd, don't MFC mention of work not yet MFC'd.
2005-06-11 15:27:56 +00:00
davidxu
094168eea8
Remove COMPAT_32BIT, it is no longer needed.
2005-04-27 01:29:03 +00:00
davidxu
9f7f211673
Remove unused variable.
2005-04-23 03:34:43 +00:00