Commit Graph

18 Commits

Author SHA1 Message Date
christos
143f5a277a pass lint:
1. add new pthread__abort() and change pthread_assert(0) to it.
2. put constcond in the right place (in the macro).
3. no space after pthread__assert macro.
2003-05-27 15:24:24 +00:00
nathanw
ff14fbf244 Move call to pthread__alarm_init() from pthread_init() (called at load
time) to pthread__start() (called on the first call of
pthread_create()), so that there's no opportunity for a fork() to
clear the per-process timer.

Problem pointed out by a test program from Mihai CHELARU on
current-users.
2003-04-28 17:46:30 +00:00
nathanw
df2772713e Introduce a pthread__error() macro, for detected application errors as
opposed to internal errors. The setting of the PTHREAD_ERRORMODE
environment variable determines the runtime behavior. Valid settings
are "ignore", "abort", and "print". The default is currently "abort".
2003-04-23 19:35:47 +00:00
nathanw
2a4cef11ba When threads are started, register an atfork callback to clear
pthread__started in the child process. This lets sleep() work in the
child, as required by POSIX.
2003-04-07 21:29:48 +00:00
nathanw
37c11910ec Re-enable nanosleep(); kernel bug is squished (kern_time.c:1.67). 2003-03-10 22:16:36 +00:00
lukem
f043c0fb57 add __RCSID() 2003-03-08 08:03:34 +00:00
nathanw
a4314c450c Disable userlevel nanosleep() until I find the timer/alarm bug that it
is tickling.
2003-02-28 18:37:44 +00:00
nathanw
508a50ac15 In pthread_create(), rearrange name-setting code so that name is set
to NULL when the attribute structure does not have a private field
allocated.
2003-02-26 23:41:01 +00:00
thorpej
b33971b9c3 Add support for naming a thread, using an API compatible with Tru64 Unix:
* pthread_attr_getname_np()
* pthread_attr_setname_np()
* pthread_getname_np()
* pthread_setname_np()

In addition to being query'able by the application (for log messages, etc.),
it is intended that these names can show up in the debugger.

Reviewed by nathanw.
2003-02-26 22:02:48 +00:00
nathanw
66fcc1ce38 In pthread_exit(), clear pt_canceled in addition to setting
PT_FLAG_CS_DISABLED in pt_flags.

Prevents cancellation cleanup handlers from thinking that they've been
canceled and exiting mid-handler. Problem spotted by Matt Thomas.
2003-02-22 00:53:29 +00:00
nathanw
8bcff70bb0 Define a pthread-specific assert function, pthread__assert(), that
bails out without trying to flush stdio buffers.
2003-02-15 04:34:40 +00:00
nathanw
96b5a26db2 Use pthread__sched_sleepers() instead of iterating over sleep queues
ourself.
2003-01-31 04:59:40 +00:00
drochner
e81f9f1784 cosmetics 2003-01-29 14:03:08 +00:00
nathanw
564fe117cc Make pthread_join() accomodate spurious wakeups from pthread__block(). 2003-01-25 00:37:01 +00:00
thorpej
7dc01dbfab Add some threadlib stubs that are used by X:
* thr_create() (stub in libc aborts)
* thr_exit() (stub in libc calls exit())
* thr_yield() (stub in libc does nothing)

Also make the libc thr_self() stub not abort.

XXX Should we add thrattr_*() stubs for setting the detach-state?
2003-01-19 21:58:21 +00:00
christos
1b36c15f8d - constify the get functions
- remove argument variable names since they pollute the namespace
- add mock implementation of the missing stack functions
XXX: we need to do this right [i.e. actually get and set sizes and addresses]
but the current stack setup makes this a bit complicated.
2003-01-19 16:03:50 +00:00
christos
9631ace572 de-lint 2003-01-18 18:40:52 +00:00
thorpej
c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00