程序15-11 linux/lib/wait.c


  1 /*

  2  *  linux/lib/wait.c

  3  *

  4  *  (C) 1991  Linus Torvalds

  5  */

  6

  7 #define __LIBRARY__

  8 #include <unistd.h>       // Linux标准头文件。定义了各种符号常数和类型,并声明了各种函数。

                              // 如定义了__LIBRARY__,则还含系统调用号和内嵌汇编_syscall0()等。

  9 #include <sys/wait.h>     // 等待调用头文件。定义系统调用wait()waitpid()及相关常数符号。

 10

    //// 等待进程终止系统调用函数。

    // 该下面宏结构对应于函数:pid_t waitpid(pid_t pid, int * wait_stat, int options)

    //

    // 参数:pid - 等待被终止进程的进程id,或者是用于指定特殊情况的其他特定数值;

    //       wait_stat - 用于存放状态信息;options - WNOHANGWUNTRACED或是0

 11 _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)

 12

    //// wait()系统调用。直接调用waitpid()函数。

 13 pid_t wait(int * wait_stat)

 14 {

 15         return waitpid(-1,wait_stat,0);

 16 }

 17