Messages in this thread | | | From | "Li Xiaodong" <> | Subject | [HELP]Problem with exit(0) and _exit(0) on RHEL x86 | Date | Mon, 21 Jan 2008 16:40:21 +0800 |
| |
I thought the effects of exit(0) and _exit(0) should be different.
---- int main(void) { int var = 0; pid_t pid;
printf("before vfork\n"); if ( (pid = vfork()) < 0 ) printf("error\n"); else if ( pid == 0 ) { var++; exit(0); /* Clear parent's IO */ }
printf("%d\n",var); return 0; }
----
int main(void) { int var = 0; pid_t pid;
printf("before vfork\n"); if ( (pid = vfork()) < 0 ) printf("error\n"); else if ( pid == 0 ) { var++; _exit(0); /* Do not clear parent's IO */ }
printf("%d\n",var); return 0; }
----
But the actual results on RHEL5 x86 were beyond my ken. The outputs of the above two are the same.
$./a.out before vfork 1
Could anyone help me with this? Thanks.
| |