PAPI  5.4.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
forkexec3.c File Reference
Include dependency graph for forkexec3.c:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 27 of file forkexec3.c.

28 {
29  int retval;
30  int status;
31 
32  tests_quiet( argc, argv ); /* Set TESTS_QUIET variable */
33 
34  if ( ( argc > 1 ) && ( strcmp( argv[1], "xxx" ) == 0 ) ) {
36  if ( retval != PAPI_VER_CURRENT )
37  test_fail( __FILE__, __LINE__, "execed PAPI_library_init", retval );
38  } else {
40  if ( retval != PAPI_VER_CURRENT )
41  test_fail( __FILE__, __LINE__, "main PAPI_library_init", retval );
42 
43  PAPI_shutdown( );
44 
45  if ( fork( ) == 0 ) {
47  if ( retval != PAPI_VER_CURRENT )
48  test_fail( __FILE__, __LINE__, "forked PAPI_library_init",
49  retval );
50 
51  if ( execlp( argv[0], argv[0], "xxx", NULL ) == -1 )
52  test_fail( __FILE__, __LINE__, "execlp", PAPI_ESYS );
53  } else {
54  wait( &status );
55  if ( WEXITSTATUS( status ) != 0 )
56  test_fail( __FILE__, __LINE__, "fork", WEXITSTATUS( status ) );
57  }
58  }
59 
60  test_pass( __FILE__, NULL, 0 );
61  exit( 1 );
62 }
tests_quiet(argc, argv)
test_pass(__FILE__, NULL, 0)
int int argc
Definition: iozone.c:1609
char ** argv
Definition: iozone.c:1610
test_fail(__FILE__, __LINE__,"PAPI_library_init", retval)
int PAPI_library_init(int version)
Definition: papi.c:497
void PAPI_shutdown(void)
Definition: papi.c:4400
int wait()
#define PAPI_ESYS
Definition: papi.h:253
long long status
Definition: iozone.c:1335
ssize_t retval
Definition: libasync.c:338
#define PAPI_VER_CURRENT
Definition: papi.h:223
void exit()

Here is the call graph for this function: