DMTCP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Typedefs | Functions | Variables
dmtcpplugin.cpp File Reference
#include <stdlib.h>
#include "dmtcp.h"
#include "dmtcpworker.h"
#include "coordinatorapi.h"
#include "syscallwrappers.h"
#include "processinfo.h"
#include "shareddata.h"
#include "threadsync.h"
#include "mtcpinterface.h"
#include "util.h"

Go to the source code of this file.

Macros

#define memfence()   __sync_synchronize()
 
#define SUCCESS   0
 
#define NOTFOUND   -1
 
#define TOOLONG   -2
 
#define DMTCP_BUF_TOO_SMALL   -3
 
#define INTERNAL_ERROR   -4
 
#define NULL_PTR   -5
 
#define MAXSIZE   3000
 

Typedefs

typedef void *(* dlsym_fnptr_t )(void *handle, const char *symbol)
 

Functions

EXTERNC int dmtcp_is_enabled ()
 
EXTERNC int dmtcp_checkpoint ()
 
EXTERNC int dmtcp_get_coordinator_status (int *numPeers, int *isRunning)
 
EXTERNC int dmtcp_get_local_status (int *nCheckpoints, int *nRestarts)
 
EXTERNC int dmtcp_disable_ckpt ()
 
EXTERNC int dmtcp_enable_ckpt ()
 
EXTERNC int dmtcp_get_ckpt_signal (void)
 
EXTERNC const char * dmtcp_get_tmpdir (void)
 
EXTERNC const char * dmtcp_get_ckpt_dir ()
 
EXTERNC void dmtcp_set_ckpt_dir (const char *dir)
 
EXTERNC const char * dmtcp_get_coord_ckpt_dir (void)
 
EXTERNC void dmtcp_set_coord_ckpt_dir (const char *dir)
 
EXTERNC void dmtcp_set_ckpt_file (const char *filename)
 
EXTERNC const char * dmtcp_get_ckpt_filename (void)
 
EXTERNC const char * dmtcp_get_ckpt_files_subdir (void)
 
EXTERNC int dmtcp_should_ckpt_open_files (void)
 
EXTERNC const char * dmtcp_get_executable_path (void)
 
EXTERNC const char * dmtcp_get_uniquepid_str (void)
 
EXTERNC DmtcpUniqueProcessId dmtcp_get_uniquepid (void)
 
EXTERNC DmtcpUniqueProcessId dmtcp_get_computation_id (void)
 
EXTERNC const char * dmtcp_get_computation_id_str (void)
 
EXTERNC DmtcpUniqueProcessId dmtcp_get_coord_id (void)
 
EXTERNC int dmtcp_unique_pids_equal (DmtcpUniqueProcessId a, DmtcpUniqueProcessId b)
 
EXTERNC uint64_t dmtcp_get_coordinator_timestamp (void)
 
EXTERNC uint32_t dmtcp_get_generation (void)
 
EXTERNC int checkpoint_is_pending (void)
 
EXTERNC int dmtcp_is_running_state (void)
 
EXTERNC int dmtcp_is_initializing_wrappers (void)
 
EXTERNC int dmtcp_is_protected_fd (int fd)
 
EXTERNC int dmtcp_protected_environ_fd (void)
 
EXTERNC void dmtcp_close_protected_fd (int fd)
 
EXTERNC int dmtcp_get_restart_env (const char *name, char *value, size_t maxvaluelen)
 
EXTERNC int dmtcp_get_readlog_fd (void)
 
EXTERNC int dmtcp_get_ptrace_fd (void)
 
EXTERNC void * dmtcp_get_libc_dlsym_addr (void)
 
EXTERNC void dmtcp_block_ckpt_signal (void)
 
EXTERNC void dmtcp_unblock_ckpt_signal (void)
 
EXTERNC int dmtcp_send_key_val_pair_to_coordinator (const char *id, const void *key, uint32_t key_len, const void *val, uint32_t val_len)
 
EXTERNC int dmtcp_send_key_val_pair_to_coordinator_sync (const char *id, const void *key, uint32_t key_len, const void *val, uint32_t val_len)
 
EXTERNC int dmtcp_send_query_to_coordinator (const char *id, const void *key, uint32_t key_len, void *val, uint32_t *val_len)
 
EXTERNC void dmtcp_get_local_ip_addr (struct in_addr *in)
 
EXTERNC int dmtcp_no_coordinator (void)
 

Variables

LIB_PRIVATE int32_t dmtcp_dlsym_offset = -1
 

Macro Definition Documentation

#define DMTCP_BUF_TOO_SMALL   -3
#define INTERNAL_ERROR   -4
#define MAXSIZE   3000
#define memfence ( )    __sync_synchronize()

Definition at line 59 of file dmtcpplugin.cpp.

#define NOTFOUND   -1
#define NULL_PTR   -5
#define SUCCESS   0
#define TOOLONG   -2

Typedef Documentation

typedef void*(* dlsym_fnptr_t)(void *handle, const char *symbol)

Definition at line 407 of file dmtcpplugin.cpp.

Function Documentation

EXTERNC int checkpoint_is_pending ( void  )

Definition at line 288 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_block_ckpt_signal ( void  )

Definition at line 435 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_checkpoint ( )

TODO: Maybe we need to process it in some way???? EXIT???? – Artem

Definition at line 106 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_close_protected_fd ( int  fd)

Definition at line 314 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_disable_ckpt ( )

Definition at line 147 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_enable_ckpt ( )

Definition at line 153 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_ckpt_dir ( void  )

Definition at line 179 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_ckpt_filename ( void  )

Definition at line 212 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_ckpt_files_subdir ( void  )

Definition at line 219 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_ckpt_signal ( void  )

Definition at line 159 of file dmtcpplugin.cpp.

EXTERNC DmtcpUniqueProcessId dmtcp_get_computation_id ( void  )

Definition at line 249 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_computation_id_str ( void  )

Definition at line 254 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_coord_ckpt_dir ( void  )

Definition at line 193 of file dmtcpplugin.cpp.

EXTERNC DmtcpUniqueProcessId dmtcp_get_coord_id ( void  )

Definition at line 264 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_coordinator_status ( int *  numPeers,
int *  isRunning 
)

Gets the coordinator-specific status of DMTCP.

  • Returns 0 on success and -1 on error.

Args: numPeers: Number of processes connected to dmtcp_coordinator isRunning: 1 if all processes connected to dmtcp_coordinator are in a running state

Definition at line 133 of file dmtcpplugin.cpp.

EXTERNC uint64_t dmtcp_get_coordinator_timestamp ( void  )

Definition at line 278 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_executable_path ( void  )

Definition at line 231 of file dmtcpplugin.cpp.

EXTERNC uint32_t dmtcp_get_generation ( void  )

Definition at line 283 of file dmtcpplugin.cpp.

EXTERNC void* dmtcp_get_libc_dlsym_addr ( void  )

Definition at line 408 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_get_local_ip_addr ( struct in_addr *  in)

Definition at line 494 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_local_status ( int *  numCheckpoints,
int *  numRestarts 
)

Queries local state of this process, not global state seen by DMTCP coord.

  • Returns 0 on success and -1 on error.

Args: numCheckpoints: The number of times this process has been checkpointed (excludes restarts) numRestarts: The number of times this process has been restarted

Definition at line 140 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_ptrace_fd ( void  )

Definition at line 401 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_readlog_fd ( void  )

Definition at line 396 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_get_restart_env ( const char *  name,
char *  value,
size_t  maxvaluelen 
)

Definition at line 329 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_tmpdir ( void  )

Definition at line 165 of file dmtcpplugin.cpp.

EXTERNC DmtcpUniqueProcessId dmtcp_get_uniquepid ( void  )

Definition at line 244 of file dmtcpplugin.cpp.

EXTERNC const char* dmtcp_get_uniquepid_str ( void  )

Definition at line 236 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_is_enabled ( )

Definition at line 62 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_is_initializing_wrappers ( void  )

Definition at line 299 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_is_protected_fd ( int  fd)

Definition at line 304 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_is_running_state ( void  )

Definition at line 294 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_no_coordinator ( void  )

Definition at line 499 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_protected_environ_fd ( void  )

Definition at line 309 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_send_key_val_pair_to_coordinator ( const char *  id,
const void *  key,
uint32_t  key_len,
const void *  val,
uint32_t  val_len 
)

Definition at line 461 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_send_key_val_pair_to_coordinator_sync ( const char *  id,
const void *  key,
uint32_t  key_len,
const void *  val,
uint32_t  val_len 
)

Definition at line 471 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_send_query_to_coordinator ( const char *  id,
const void *  key,
uint32_t  key_len,
void *  val,
uint32_t *  val_len 
)

Definition at line 486 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_set_ckpt_dir ( const char *  dir)

Definition at line 186 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_set_ckpt_file ( const char *  filename)

Definition at line 207 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_set_coord_ckpt_dir ( const char *  dir)

Definition at line 200 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_should_ckpt_open_files ( void  )

Definition at line 226 of file dmtcpplugin.cpp.

EXTERNC void dmtcp_unblock_ckpt_signal ( void  )

Definition at line 448 of file dmtcpplugin.cpp.

EXTERNC int dmtcp_unique_pids_equal ( DmtcpUniqueProcessId  a,
DmtcpUniqueProcessId  b 
)

Definition at line 269 of file dmtcpplugin.cpp.

Variable Documentation

LIB_PRIVATE int32_t dmtcp_dlsym_offset = -1

Definition at line 406 of file dmtcpplugin.cpp.