为什么克隆返回int而不是pid_t?

时间:2019-01-16 06:38:10

标签: c linux system-calls glibc

来自man 2 clone

  

简介

   /* Prototype for the glibc wrapper function */

   #define _GNU_SOURCE
   #include <sched.h>


   int clone(int (*fn)(void *), void *child_stack,
             int flags, void *arg, ...
             /* pid_t *ptid, void *newtls, pid_t *ctid */ );
     

返回值
         成功后,子进程的线程ID将返回到          调用者的执行线程。失败时,返回-1          调用者的上下文,将不会创建任何子进程,而errno将是          设置适当。

由于使用pid_t作为返回类型

  1. 提高可读性
  2. 提高可维护性
  3. 还可以在发生错误时返回-1

为什么clone不返回pid_t,而是返回int

0 个答案:

没有答案