Commit Graph

7 Commits

Author SHA1 Message Date
rearnsha cd8021f51e Use RET macro for returning. 2004-08-21 11:31:44 +00:00
cl 89d0cfd21f Remove possible race condition in upcall recycling. 2003-09-07 14:47:44 +00:00
skrll 795970599f Typo in comment. 2003-07-24 08:03:44 +00:00
nathanw 9639eeaf54 Adapt to pt_trapuc: change STACK_SWITCH to check for a value in pt_trapuc
and use it preferentially to a value in pt_uc, clearing it once on the new
stack. Move stores into pt_uc back to before the stack switch; storing
after the stack switch opened a one-instruction race condition where an upcall
that had just started a chain could be preempted again, and would bomb when
restarted due to its pt_uc not yet having been updated. Now that pt_trapuc
is what the upcall code writes to, it is safe to store to pt_uc before
switching stacks.

Remove obsolete pt_sleepuc code.
2003-06-26 01:45:31 +00:00
nathanw f866ba061d Two fixes:
* In switch-away cases, write PT_SWITCHTO last (after PT_SWITCHTOUC), so
   that pthread__resolve_locks() doesn't see an empty SWITCHTOUC value. This
   also permits pthread__resolve_locks() to use the presence of PT_SWITCHTO
   as a sign that the thread has done all of its necessary chain work.

 * Make the return-point of pthread__switch global and visible, so that its
   address can be compared to the PC of a thread, again as a sign that its
   chain-work is done.

(other architectures in progress, after they get the *previous* asm fix...)
2003-06-12 21:46:03 +00:00
bjh21 55cecd0f26 NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__. 2003-04-05 23:15:10 +00:00
thorpej c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00