[Ltrace-devel] Re: [Fwd: Patch for tracing fork]
supriya kannery
supriyak at in.ibm.com
Wed Oct 4 09:56:23 UTC 2006
Skipped content of type multipart/alternative-------------- next part --------------
ltrace/ltrace/trunk # ./ltrace -f /home/supriya/trace-fork
_start(1, 0xff9de384, 0xff9de38c, 0xff9de484, 0xf7fefac0 <unfinished ...>
__libc_start_main(1, 0xff9de384, 0xff9de38c, 0xff9de484, 0xf7fefac0 <unfinished ...>
__gmon_start__(1, 0xff9de384, 0xff9de38c, 0xff9de484, 0xf7fefac0 <unfinished ...>
fork(1, 0xff9de384, 0xff9de38c, 0xff9de484, 0 <unfinished ...>
[pid 1020] --- SIGSTOP (Stopped (signal)) ---
[pid 1019] <... fork resumed> ) = 1020
[pid 1019] printf(0x10000a98, 1020, 1, 0, 0xf7fc7048 <unfinished ...>
[pid 1020] --- SIGSTOP (Stopped (signal)) ---
[pid 1020] puts(0x10000a7c, 0, 0, 0, 1My child pid is 1020
<unfinished ...>
[pid 1020] sleep(0x10000a7c, 0, 0, 0, 1 <unfinished ...>
[pid 1019] <... printf resumed> ) = 21
[pid 1019] wait(21, 0xf7fdf000, 21, 0, -1 <unfinished ...>
[pid 1019] __gmon_start__(21, 0xf7fdf000, 21, 0, -1Fork Child
<unfinished ...>
[pid 1020] <... sleep resumed> ) = 11
[pid 1020] sleep(1, 0xf7fdf000, 11, 1, -1) = 0
[pid 1020] +++ exited (status 0) +++
--- SIGCHLD (Child exited) ---
<... __gmon_start__ resumed> ) = -1
+++ exited (status 0) +++
-------------------------------------------------------------------------------
ltrace/ltrace/trunk-mod # ./ltrace -f /home/supriya/trace-fork
__libc_start_main(1, 0xffd3c384, 0xffd3c38c, 0xffd3c484, 0xf7fefac0 <unfinished ...>
__gmon_start__(1, 0xffd3c384, 0xffd3c38c, 0xffd3c484, 0xf7fefac0 <unfinished ...>
fork(1, 0xffd3c384, 0xffd3c38c, 0xffd3c484, 0 <unfinished ...>
[pid 972] puts(0x10000a7c, 0, 0, 0, 1 <unfinished ...>
[pid 971] <... fork resumed> ) = 972
[pid 971] printf(0x10000a98, 972, 1, 0, 0xf7fc7048 <unfinished ...>
[pid 972] sleep(0x10000a7c, 0, 0, 0, 1My child pid is 972
Fork Child
<unfinished ...>
[pid 971] <... printf resumed> ) = 20
[pid 971] wait(20, 0xf7fdf000, 20, 0, -1 <unfinished ...>
[pid 972] <... sleep resumed> ) = 11
[pid 971] __gmon_start__(20, 0xf7fdf000, 20, 0, -1 <unfinished ...>
[pid 972] sleep(1, 0xf7fdf000, 11, 1, -1) = 0
[pid 972] +++ exited (status 0) +++
--- SIGCHLD (Child exited) ---
<... __gmon_start__ resumed> ) = -1
+++ exited (status 0) +++
-------------------------------------------------------------------------------
ltrace/ltrace # uname -a
Linux llm23 2.6.16.21-0.8-ppc64 #5 SMP Sat Aug 26 03:12:15 IST 2006 ppc64
-------------------------------------------------------------------------------
Test program:
/ltrace/ltrace # cat /home/supriya/trace-fork.c
/*Ltrace Test : trace-fork.c
Objectives : Verify that ltrace can trace to child process after
fork called.
This file was written by Yao Qi <qiyao at cn.ibm.com>. */
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void
child ()
{
printf("Fork Child\n");
sleep(1);
}
int
main ()
{
pid_t pid;
pid = fork ();
if (pid == -1)
printf("fork failed!\n");
else if (pid == 0)
child();
else
{
printf("My child pid is %d\n",pid);
wait();
}
return 0;
}
More information about the Ltrace-devel
mailing list