在内核初始化的时候,调用的fork是一个用宏定义的函数,什么意思呢:
static inline _syscall0(int,fork)
这样就定义了一个函数int fork(void) ,至于_syscall0的代码,看下面:
#define _syscall0(type,name) \
type name(void) \
{ \
long res; \
asm volatile ("int $0x80" \
: "=a" (res) \
: "0" (_NR##name)); \
if (res >= 0) \
return (type) res; \
errno = -__res; \
return –1; \
}