?? mproc.h
字號:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/mm/mproc.h
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16300 /* This table has one slot per process. It contains all the memory management
16301 * information for each process. Among other things, it defines the text, data
16302 * and stack segments, uids and gids, and various flags. The kernel and file
16303 * systems have tables that are also indexed by process, with the contents
16304 * of corresponding slots referring to the same process in all three.
16305 */
16306
16307 EXTERN struct mproc {
16308 struct mem_map mp_seg[NR_SEGS];/* points to text, data, stack */
16309 char mp_exitstatus; /* storage for status when process exits */
16310 char mp_sigstatus; /* storage for signal # for killed procs */
16311 pid_t mp_pid; /* process id */
16312 pid_t mp_procgrp; /* pid of process group (used for signals) */
16313 pid_t mp_wpid; /* pid this process is waiting for */
16314 int mp_parent; /* index of parent process */
16315
16316 /* Real and effective uids and gids. */
16317 uid_t mp_realuid; /* process' real uid */
16318 uid_t mp_effuid; /* process' effective uid */
16319 gid_t mp_realgid; /* process' real gid */
16320 gid_t mp_effgid; /* process' effective gid */
16321
16322 /* File identification for sharing. */
16323 ino_t mp_ino; /* inode number of file */
16324 dev_t mp_dev; /* device number of file system */
16325 time_t mp_ctime; /* inode changed time */
16326
16327 /* Signal handling information. */
16328 sigset_t mp_ignore; /* 1 means ignore the signal, 0 means don't */
16329 sigset_t mp_catch; /* 1 means catch the signal, 0 means don't */
16330 sigset_t mp_sigmask; /* signals to be blocked */
16331 sigset_t mp_sigmask2; /* saved copy of mp_sigmask */
16332 sigset_t mp_sigpending; /* signals being blocked */
16333 struct sigaction mp_sigact[_NSIG + 1]; /* as in sigaction(2) */
16334 vir_bytes mp_sigreturn; /* address of C library __sigreturn function */
16335
16336 /* Backwards compatibility for signals. */
16337 sighandler_t mp_func; /* all sigs vectored to a single user fcn */
16338
16339 unsigned mp_flags; /* flag bits */
16340 vir_bytes mp_procargs; /* ptr to proc's initial stack arguments */
16341 } mproc[NR_PROCS];
16342
16343 /* Flag values */
16344 #define IN_USE 001 /* set when 'mproc' slot in use */
16345 #define WAITING 002 /* set by WAIT system call */
16346 #define HANGING 004 /* set by EXIT system call */
16347 #define PAUSED 010 /* set by PAUSE system call */
16348 #define ALARM_ON 020 /* set when SIGALRM timer started */
16349 #define SEPARATE 040 /* set if file is separate I & D space */
16350 #define TRACED 0100 /* set if process is to be traced */
16351 #define STOPPED 0200 /* set if process stopped for tracing */
16352 #define SIGSUSPENDED 0400 /* set by SIGSUSPEND system call */
16353
16354 #define NIL_MPROC ((struct mproc *) 0)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -