diff --git a/doc/scsh-manual/syscalls.tex b/doc/scsh-manual/syscalls.tex index 7dedfab..595acb4 100644 --- a/doc/scsh-manual/syscalls.tex +++ b/doc/scsh-manual/syscalls.tex @@ -2247,9 +2247,7 @@ I can't remember how \ex{set-priority} and \ex{priority} work, so no \defunx {user-login-name}{} \str \defunx {user-uid}{} \fixnum -\defunx {user-effective-uid}{} \fixnum \defunx {user-gid}{} \fixnum -\defunx {user-effective-gid}{} \fixnum \defunx {user-supplementary-gids}{} {{\fixnum} list} \defunx {set-uid} {uid} \undefined \defunx {set-gid} {gid} \undefined @@ -2259,6 +2257,22 @@ The \ex{set-uid} and \ex{set-gid} routines correspond to the {\Posix} \ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=setuid&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{setuid()}} and \ex{\urlh{http://www.FreeBSD.org/cgi/man.cgi?query=setgid&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html}{setgid()}} procedures. \end{desc} +\defunx {user-effective-uid}{} \fixnum +\defunx {set-user-effective-uid}{\fixnum} \undefined +\defunx {with-user-effective-uid*} {\fixnum{} thunk} {value(s) of thunk} +\dfnx {with-user-effective-uid} {\fixnum{} . body} {value(s) of body} {syntax} +\defunx {user-effective-gid}{} \fixnum +\defunx {set-user-effective-gid}{\fixnum} \undefined +\defunx {with-user-effective-gid*} {\fixnum{} thunk} {value(s) of thunk} +\dfnx {with-user-effective-gid} {\fixnum{} . body} {value(s) of body} {syntax} + +\begin{desc} + These forms manipulate the effective user/group IDs. Possible values + for setting this resource are either the real user/group ID or the + saved set-user/group-ID. The \texttt{with-...} forms perform the ususal + temprary assignment during the execution of the second argument. The + effective user and group IDs are thread-local. +\end{desc} \defun {process-times} {} {[{\fixnum} {\fixnum} {\fixnum} \fixnum]} \begin{desc} diff --git a/doc/scsh-manual/threads.tex b/doc/scsh-manual/threads.tex index 3fd9177..ebc72bc 100644 --- a/doc/scsh-manual/threads.tex +++ b/doc/scsh-manual/threads.tex @@ -203,11 +203,12 @@ the global, asynchronous signals handlers into modular, synchronous sigevents. Concurrent programming also benefit from sigevents as every thread may chase down the sigevent chain separately. -Scsh treats working directory, umask and environment as a thread-local -resource. The initial value of the resources is determined by the way -a thread is started: \texttt{spawn} assigns the initial values whereas -\texttt{fork-thread} adopts the values of its parent. Here is a -detailed description of the whole facility: +Scsh treats the working directory, umask, environment, and the +effective user/group ID as thread-local resources. The initial value +of the resources is determined by the way a thread is started: +\texttt{spawn} assigns the initial values whereas \texttt{fork-thread} +adopts the values of its parent. Here is a detailed description of the +whole facility: \begin{itemize} \item The procedures to access and modify the resources remain as