Back to index

glibc  2.9
Functions
tst-cleanup4aux.c File Reference
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

Go to the source code of this file.

Functions

void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, void(*__routine)(void *), void *__arg)
void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute)
void clh (void *arg)
void fn0 (void)
void fn1 (void)
void fn5 (void)
void fn7 (void)
void fn9 (void)
static __attribute__ ((noinline))

Function Documentation

static __attribute__ ( (noinline)  ) [static]

Definition at line 39 of file tst-cleanup4aux.c.

{
  /* This is the old LinuxThreads pthread_cleanup_{push,pop}.  */
     struct _pthread_cleanup_buffer b;
  _pthread_cleanup_push (&b, clh, (void *) 4l);

  fn0 ();

  _pthread_cleanup_pop (&b, 1);
}

Here is the call graph for this function:

void _pthread_cleanup_pop ( struct _pthread_cleanup_buffer __buffer,
int  __execute 
)

Definition at line 167 of file cancel.c.

{
  pthread_descr self = thread_self();
  if (execute) buffer->__routine(buffer->__arg);
  THREAD_SETMEM(self, p_cleanup, buffer->__prev);
}

Here is the caller graph for this function:

void _pthread_cleanup_push ( struct _pthread_cleanup_buffer __buffer,
void(*)(void *)  __routine,
void *  __arg 
)

Definition at line 155 of file cancel.c.

{
  pthread_descr self = thread_self();
  buffer->__routine = routine;
  buffer->__arg = arg;
  buffer->__prev = THREAD_GETMEM(self, p_cleanup);
  if (buffer->__prev != NULL && FRAME_LEFT (buffer, buffer->__prev))
    buffer->__prev = NULL;
  THREAD_SETMEM(self, p_cleanup, buffer);
}

Here is the caller graph for this function:

void clh ( void *  arg)

Definition at line 42 of file tst-cleanup4.c.

{
  int val = (long int) arg;

  printf ("clh (%d)\n", val);

  global *= val;
  global += val;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void fn0 ( void  )

Here is the caller graph for this function:

void fn1 ( void  )
void fn5 ( void  )

Definition at line 64 of file tst-cleanup4aux.c.

{
  /* This is the old LinuxThreads pthread_cleanup_{push,pop}.  */
     struct _pthread_cleanup_buffer b;
  _pthread_cleanup_push (&b, clh, (void *) 6l);

  fn4 ();

  _pthread_cleanup_pop (&b, 1);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void fn7 ( void  )

Definition at line 88 of file tst-cleanup4aux.c.

{
  /* This is the old LinuxThreads pthread_cleanup_{push,pop}.  */
     struct _pthread_cleanup_buffer b;
  _pthread_cleanup_push (&b, clh, (void *) 8l);

  fn6 ();

  _pthread_cleanup_pop (&b, 1);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void fn9 ( void  )

Definition at line 112 of file tst-cleanup4aux.c.

{
  /* This is the old LinuxThreads pthread_cleanup_{push,pop}.  */
     struct _pthread_cleanup_buffer b;
  _pthread_cleanup_push (&b, clh, (void *) 10l);

  fn8 ();

  _pthread_cleanup_pop (&b, 1);
}

Here is the call graph for this function:

Here is the caller graph for this function: