Man Linux: Main Page and Category List

NAME

       TAU_REGISTER_FORK - Informs the measurement system that a fork has
       taken place

SYNOPSIS

       C/C++:

       TAU_REGISTER_FORK(int pid, enum TauFork_t option);

DESCRIPTION

       To register a child process obtained from the fork() syscall, invoke
       the TAU_REGISTER_FORK macro. It takes two parameters, the first is the
       node id of the child process (typically the process id returned by the
       fork call or any 0..N-1 range integer). The second parameter specifies
       whether the performance data for the child process should be derived
       from the parent at the time of fork ( TAU_INCLUDE_PARENT_DATA ) or
       should be independent of its parent at the time of fork (
       TAU_EXCLUDE_PARENT_DATA ). If the process id is used as the node id,
       before any analysis is done, all profile files should be converted to
       contiguous node numbers (from 0..N-1). It is highly recommended to use
       flat contiguous node numbers in this call for profiling and tracing.

EXAMPLE

       C/C++ :

       pID = fork();
       if (pID == 0) {
         printf("Parent : pid returned %d\n", pID)
       }  else {
         // If we’d used the TAU_INCLUDE_PARENT_DATA, we get
         // the performance data from the parent in this process
         // as well.
         TAU_REGISTER_FORK(pID, TAU_EXCLUDE_PARENT_DATA);
         printf("Child : pid = %d", pID);
       }

                                  08/31/2005