Age | Commit message (Collapse) | Author |
|
* libthreads/cthreads.h (mutex_try_lock): Call WAIT_SET_DEBUG when
spin_try_lock succeeds.
|
|
From the idea of Sergio Lopez.
* libthreads/cthreads.h [WAIT_FUNC_DEBUG] (mutex): Replace struct
cthread *holder field with const char *fname.
(WAIT_CLEAR_DEBUG, WAIT_SET_DEBUG): New macros which clear and set fname
or holder according to WAIT_FUNC_DEBUG and WAIT_DEBUG being defined.
(mutex_init, mutex_unlock): Call WAIT_CLEAR_DEBUG in all cases instead of
setting the `holder' field according to WAIT_DEBUG being defined
(mutex_lock): Call WAIT_SET_DEBUG in all cases instead of setting the `holder'
field according to WAIT_DEBUG being defined.
|
|
* cthreads.h: Do not define WAIT_DEBUG to affect inlines.
* options.h: Not here either.
|
|
* cthreads.h (hurd_condition_wait, condition_implies,
condition_unimplies): Restore decls lost in merge.
(mutex_clear): Define as mutex_init instead of bogon (lost in merge).
|
|
Changes merged from CMU MK83a version:
* cthreads.h, options.h: Various cleanups.
* call.c, cthread_data.c, sync.c, mig_support.c: Likewise.
* i386/cthreads.h, i386/thread.c, i386/lock.s: Likewise.
* cthread_internals.h: Add decls for internal functions.
(struct cproc): Use vm_offset_t for stack_base and stack_size members.
Use natural_t for context member.
* cprocs.c: Use prototypes for all defns.
* cthreads.c: Likewise.
(cthread_exit): Cast any_t to integer_t before int.
|
|
* cthreads.h (cthread_sp): Cast to vm_address_t instead of int.
(mutex_unlock): Cast to void * instead of int.
|
|
* cthreads.h: Fix obsolescent #endif syntax.
* cthread_internals.h: Likewise.
* cancel-cond.c: Likewise.
* stack.c: Likewise.
* cthreads.c: Likewise.
* cprocs.c: Likewise.
* call.c: Likewise.
|
|
* cthreads.h (MACRO_BEGIN, MACRO_END): #undef before unconditionally
redefining. Use GCC extension for statement expression with value 0.
|
|
* cthreads.h (mutex_clear): Change again, to call mutex_init.
|
|
* cthreads.h (mutex_clear): Change from syntax error to no-op (with
warning avoidance).
|
|
[!lint] (NEVER): Useless macro removed.
|
|
|
|
(condition_init): Bother initializing NAME and IMPLICATIONS members.
|
|
(struct condition): New member `implications'.
(cond_imp): New structure.
(cond_signal): Return int now.
(condition_broadcast): Always call cond_broadcast if this condition
has implications.
(condition_signal): Always call cond_signal if this condition has
implications.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|