1999-06-28 23:04:32 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <unistd.h>
|
2009-05-17 19:20:33 +00:00
|
|
|
#include <stdlib.h>
|
1999-06-28 23:04:32 +00:00
|
|
|
|
|
|
|
#ifdef PROTOTYPES
|
|
|
|
void callee (int i)
|
|
|
|
#else
|
|
|
|
void callee (i)
|
|
|
|
int i;
|
|
|
|
#endif
|
|
|
|
{
|
2009-11-30 22:55:27 +00:00
|
|
|
/* Any output corrupts GDB CLI expect strings.
|
|
|
|
printf("callee: %d\n", i); */
|
1999-06-28 23:04:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef PROTOTYPES
|
|
|
|
int main (void)
|
|
|
|
#else
|
|
|
|
main ()
|
|
|
|
#endif
|
|
|
|
{
|
|
|
|
int pid;
|
|
|
|
int v = 5;
|
|
|
|
|
|
|
|
pid = fork ();
|
2009-05-17 19:20:33 +00:00
|
|
|
if (pid == 0) /* set breakpoint here */
|
1999-06-28 23:04:32 +00:00
|
|
|
{
|
|
|
|
v++;
|
|
|
|
/* printf ("I'm the child!\n"); */
|
2009-05-17 19:20:33 +00:00
|
|
|
callee (getpid ());
|
1999-06-28 23:04:32 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
v--;
|
|
|
|
/* printf ("I'm the proud parent of child #%d!\n", pid); */
|
2009-05-17 19:20:33 +00:00
|
|
|
callee (getpid ());
|
1999-06-28 23:04:32 +00:00
|
|
|
}
|
2009-05-17 19:20:33 +00:00
|
|
|
|
|
|
|
exit (0); /* at exit */
|
1999-06-28 23:04:32 +00:00
|
|
|
}
|