DMTCP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Typedefs | Functions
pid_miscwrappers.cpp File Reference
#include <semaphore.h>
#include <sys/syscall.h>
#include <linux/version.h>
#include "jassert.h"
#include "jfilesystem.h"
#include "jconvert.h"
#include "pidwrappers.h"
#include "virtualpidtable.h"
#include "dmtcp.h"
#include "shareddata.h"
#include "util.h"
#include "pid.h"

Go to the source code of this file.

Classes

struct  ThreadArg
 

Macros

#define SYSCALL_VA_START()
 
#define SYSCALL_VA_END()   va_end(ap)
 
#define SYSCALL_GET_ARG(type, arg)   type arg = va_arg(ap, type)
 
#define SYSCALL_GET_ARGS_2(type1, arg1, type2, arg2)
 
#define SYSCALL_GET_ARGS_3(type1, arg1, type2, arg2, type3, arg3)
 
#define SYSCALL_GET_ARGS_4(type1, arg1, type2, arg2, type3, arg3, type4, arg4)
 
#define SYSCALL_GET_ARGS_5(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
 
#define SYSCALL_GET_ARGS_6(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
 
#define SYSCALL_GET_ARGS_7(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7)
 

Typedefs

typedef int(* clone_fptr_t )(int(*fn)(void *arg), void *child_stack, int flags, void *arg, int *parent_tidptr, struct user_desc *newtls, int *child_tidptr)
 

Functions

LIB_PRIVATE pid_t getPidFromEnvVar ()
 
void pidVirt_pthread_atfork_child ()
 
int __register_atfork (void(*prepare)(void), void(*parent)(void), void(*child)(void), void *dso_handle)
 
pid_t fork ()
 
LIB_PRIVATE int clone_start (void *arg)
 
int __clone (int(*fn)(void *arg), void *child_stack, int flags, void *arg, int *parent_tidptr, struct user_desc *newtls, int *child_tidptr)
 
int shmctl (int shmid, int cmd, struct shmid_ds *buf)
 
int semctl (int semid, int semnum, int cmd,...)
 
int msgctl (int msqid, int cmd, struct msqid_ds *buf)
 
int clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
 
int timer_create (clockid_t clockid, struct sigevent *sevp, timer_t *timerid)
 
long syscall (long sys_num,...)
 

Macro Definition Documentation

#define SYSCALL_GET_ARG (   type,
  arg 
)    type arg = va_arg(ap, type)

Definition at line 275 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_2 (   type1,
  arg1,
  type2,
  arg2 
)
Value:
SYSCALL_GET_ARG(type1,arg1); \
SYSCALL_GET_ARG(type2,arg2)

Definition at line 277 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_3 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
SYSCALL_GET_ARGS_2(type1,arg1,type2,arg2); \
SYSCALL_GET_ARG(type3,arg3)

Definition at line 281 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_4 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
SYSCALL_GET_ARGS_3(type1,arg1,type2,arg2,type3,arg3); \
SYSCALL_GET_ARG(type4,arg4)

Definition at line 285 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_5 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
SYSCALL_GET_ARGS_4(type1,arg1,type2,arg2,type3,arg3,type4,arg4); \
SYSCALL_GET_ARG(type5,arg5)

Definition at line 289 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_6 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
SYSCALL_GET_ARGS_5(type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
type5,arg5); \
SYSCALL_GET_ARG(type6,arg6)

Definition at line 294 of file pid_miscwrappers.cpp.

#define SYSCALL_GET_ARGS_7 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7 
)
Value:
SYSCALL_GET_ARGS_6(type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
type5,arg5,type6,arg6); \
SYSCALL_GET_ARG(type7,arg7)

Definition at line 300 of file pid_miscwrappers.cpp.

#define SYSCALL_VA_END ( )    va_end(ap)

Definition at line 272 of file pid_miscwrappers.cpp.

#define SYSCALL_VA_START ( )
Value:
va_list ap; \
va_start(ap, sys_num)

Definition at line 268 of file pid_miscwrappers.cpp.

Typedef Documentation

typedef int(* clone_fptr_t)(int(*fn)(void *arg), void *child_stack, int flags, void *arg, int *parent_tidptr, struct user_desc *newtls, int *child_tidptr)

Definition at line 113 of file pid_miscwrappers.cpp.

Function Documentation

int __clone ( int(*)(void *arg)  fn,
void *  child_stack,
int  flags,
void *  arg,
int *  parent_tidptr,
struct user_desc newtls,
int *  child_tidptr 
)

Definition at line 117 of file pid_miscwrappers.cpp.

int __register_atfork ( void(*)(void)  prepare,
void(*)(void)  parent,
void(*)(void)  child,
void *  dso_handle 
)

Definition at line 55 of file pid_miscwrappers.cpp.

int clock_getcpuclockid ( pid_t  pid,
clockid_t *  clock_id 
)

Definition at line 221 of file pid_miscwrappers.cpp.

LIB_PRIVATE int clone_start ( void *  arg)

Definition at line 94 of file pid_miscwrappers.cpp.

pid_t fork ( )

Definition at line 64 of file pid_miscwrappers.cpp.

LIB_PRIVATE pid_t getPidFromEnvVar ( )

Definition at line 46 of file pidwrappers.cpp.

int msgctl ( int  msqid,
int  cmd,
struct msqid_ds *  buf 
)

Definition at line 208 of file pid_miscwrappers.cpp.

void pidVirt_pthread_atfork_child ( )

Definition at line 48 of file pid_miscwrappers.cpp.

int semctl ( int  semid,
int  semnum,
int  cmd,
  ... 
)

Definition at line 190 of file pid_miscwrappers.cpp.

int shmctl ( int  shmid,
int  cmd,
struct shmid_ds *  buf 
)

Definition at line 177 of file pid_miscwrappers.cpp.

long syscall ( long  sys_num,
  ... 
)

Definition at line 320 of file pid_miscwrappers.cpp.

int timer_create ( clockid_t  clockid,
struct sigevent *  sevp,
timer_t *  timerid 
)

Definition at line 230 of file pid_miscwrappers.cpp.