USERRET(9) BSD Kernel Developer's Manual USERRET(9)NAMEuserret — return path to user-mode execution
SYNOPSIS
#include <sys/lwp.h>
#include <sys/sched.h>
void
userret(struct lwp *l);
DESCRIPTION
The userret() function is executed after processing a trap (e.g., a
system call or interrupt) before returning to user-mode execution. The
implementation is machine dependent and is never invoked from machine-
independent code. The function prototype for each architecture may be
different to the prototype above, however the functionally provided by
the userret() function on each architecture is essentially the same.
Specifically, the userret() function performs the following procedure:
· Detect a change in the signal disposition of the current
process and invoke postsig(9) to post the signal to the
process. This may occur when the outcome of the trap or
syscall posted a signal to the process (e.g., invalid
instruction trap).
· Check the want_resched flag to see if the scheduler requires
the current process to be preempted by invoking preempt(9) (see
cpu_need_resched(9)). This may occur if the clock interrupt
causes the scheduler to determine that the current process has
completed its time slice.
· Update the scheduler state.
SEE ALSOcpu_need_resched(9), postsig(9), preempt(9), scheduler(9)BSD December 20, 2005 BSD