Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [wrstuden-revivesa] src/sys



Module Name:    src
Committed By:   wrstuden
Date:           Sun Jun 29 03:38:01 UTC 2008

Modified Files:
        src/sys/kern [wrstuden-revivesa]: kern_sa.c
        src/sys/sys [wrstuden-revivesa]: savar.h

Log Message:
Check in a WIP of getting SA working. With this checkin, the
regression test Tracy sent me for her afs bug now correctly fails,
which is expected as I'm using a userland with a still-broken libpthread.

i.e. an SA program correctly runs, waits, then dies when a timer goes off.
Still have an issue if you send a signal while it's sleeping.

sys_sa_yield(): don't hold p_lock into sa_yield(). We don't need it.

Add an sa_cv condvar to sadata, init it, and destroy it.

sa_yield(). Unlock lwp on way out, use cv_wait_sig() instead of tsleep().

Add lots of DPRINTFN() calls.

sa_upcal_userret(): clear LW_SA_UPCALL if savp_woken_count == 0 (no
more unblocked upcalls), not if it's != 0.

Get rid of uses of setrunnable(). lwp_unsleep() does what we really
want to do, and we don't need to lock the process.

sa_unblock_userret(): Don't make our thread LSSUSPENDED, let us
stay LSSLEEP.


To generate a diff of this commit:
cvs rdiff -r1.91.2.27 -r1.91.2.28 src/sys/kern/kern_sa.c
cvs rdiff -r1.24.2.10 -r1.24.2.11 src/sys/sys/savar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index