- NetBSD Manual Pages
USERRET(9) NetBSD Kernel Developer's Manual USERRET(9)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
userret -- return path to user-mode execution
userret(struct lwp *l);
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
· 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.
cpu_need_resched(9), postsig(9), preempt(9), scheduler(9)
NetBSD 10.99 December 20, 2005 NetBSD 10.99