Mike Makonnen
981f4968f0
It's unnecessary to lock the thread during creation. Simply extend
...
the scope of the active thread list lock.
Approved by: re/jhb
2003-05-29 20:40:50 +00:00
Mike Makonnen
ca1c469cc7
Decouple the thread stack [de]allocating functions from the 'dead threads list'
...
lock. It's not really necessary and we don't need the added complexity
or potential for deadlocks.
Approved by: re/blanket libthr
2003-05-26 00:37:07 +00:00
Mike Makonnen
12c407a424
Return gracefully, rather than aborting, when the maximum concurrent
...
threads per process has been reached. Return EAGAIN, as per spec.
Approved by: re/blanket libthr
2003-05-25 22:40:57 +00:00
Mike Makonnen
4393f2c4ec
Part of the last patch.
...
Modify the thread creation and thread searching routine
to lock the thread lists with the new locks instead of GIANT_LOCK.
Approved by: re/blanket libthr
2003-05-25 08:35:37 +00:00
Mike Makonnen
7d9d7ca2ed
Make WARNS2 clean. The fixes mostly included:
...
o removed unused variables
o explicit inclusion of header files
o prototypes for externally defined functions
Approved by: re/blanket libthr
2003-05-23 09:48:20 +00:00
Mike Makonnen
5ccf23715a
Re-enable the garbage collector thread in anticipation of further
...
locking work. I can't see anything obviously wrong with it (other than
the need to update the locking).
Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:34:54 +00:00
Marcel Moolenaar
e7c9b7517b
Fix build breakage (on ia64) caused by a missing file descriptor to
...
_thread_printf(). Use STDERR_FILENO as the file descriptor.
2003-04-20 02:56:12 +00:00
Jake Burkholder
55ad402a8f
- Pass a ucontext_t to _set_curthread. If non-NULL the new thread is set
...
as curthread in the new context, so that it will be set automatically when
the thread is switched to. This fixes a race where we'd run for a little
while with curthread unset in _thread_start.
Reviewed by: jeff
2003-04-03 03:34:50 +00:00
Jeff Roberson
26f52e2f8b
- Define curthread as _get_curthread() and remove all direct calls to
...
_get_curthread(). This is similar to the kernel's curthread. Doing
this saves stack overhead and is more convenient to the programmer.
- Pass the pointer to the newly created thread to _thread_init().
- Remove _get_curthread_slow().
2003-04-02 03:05:39 +00:00
Jeff Roberson
bb535300dd
- Add libthr but don't hook it up to the regular build yet. This is an
...
adaptation of libc_r for the thr system call interface. This is beta
quality code.
2003-04-01 03:46:29 +00:00