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:           Fri Oct 10 18:10:30 UTC 2008

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

Log Message:
Add code to adjust how we generate upcalls in sa_yield(). The
key problem is that we can only return from sys_sa_yield() iff
there are upcalls, and in some cases we can only tell that there
are upcalls to deliver after we have run userret().

So if we get woken up in a way that might not have generated upcalls
(timers, signals), try delivering upcalls. If we delivered something,
exit.

Add a flag to the vp & set it if we do this. In userret(), clear
the flag if set. Also, clear it in sa_upcall_userret() iff we get
into there.

Add comments describing the above so that the next person looking at
the code can understand it.


To generate a diff of this commit:
cvs rdiff -r1.91.2.46 -r1.91.2.47 src/sys/kern/kern_sa.c
cvs rdiff -r1.24.2.11 -r1.24.2.12 src/sys/sys/savar.h
cvs rdiff -r1.16.2.2 -r1.16.2.3 src/sys/sys/userret.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