Exemple #1
0
extern "C" void jalib_init(jalib::JalibFuncPtrs jalibFuncPtrs,
                      const char *elfInterpreter,
                      int stderrFd,
                      int jassertLogFd,
                      int dmtcp_fail_rc)
{
  jalib::jalibFuncPtrs = jalibFuncPtrs;
  jalib::elfInterpreter = elfInterpreter;
  jalib::stderrFd = stderrFd;
  jalib::logFd = jassertLogFd;
  jalib::jalib_funcptrs_initialized = 1;
  jalib::dmtcp_fail_rc = dmtcp_fail_rc;
  JASSERT_INIT();
}
Exemple #2
0
void initializeJalib()
{
  jalib::JalibFuncPtrs jalibFuncPtrs;

#define INIT_JALIB_FPTR(name) jalibFuncPtrs.name = name;

  jalibFuncPtrs.dmtcp_get_tmpdir = dmtcp_get_tmpdir;
  jalibFuncPtrs.dmtcp_get_uniquepid_str = dmtcp_get_uniquepid_str;
  jalibFuncPtrs.writeAll = dmtcp::Util::writeAll;
  jalibFuncPtrs.readAll = dmtcp::Util::readAll;

  INIT_JALIB_FPTR(open);
  INIT_JALIB_FPTR(fopen);
  INIT_JALIB_FPTR(close);
  INIT_JALIB_FPTR(fclose);
  INIT_JALIB_FPTR(dup);
  INIT_JALIB_FPTR(dup2);
  INIT_JALIB_FPTR(readlink);

  INIT_JALIB_FPTR(syscall);
  INIT_JALIB_FPTR(mmap);
  INIT_JALIB_FPTR(munmap);

  INIT_JALIB_FPTR(read);
  INIT_JALIB_FPTR(write);
  INIT_JALIB_FPTR(select);

  INIT_JALIB_FPTR(socket);
  INIT_JALIB_FPTR(connect);
  INIT_JALIB_FPTR(bind);
  INIT_JALIB_FPTR(listen);
  INIT_JALIB_FPTR(accept);
  INIT_JALIB_FPTR(setsockopt);

  INIT_JALIB_FPTR(pthread_mutex_lock);
  INIT_JALIB_FPTR(pthread_mutex_trylock);
  INIT_JALIB_FPTR(pthread_mutex_unlock);

  jalib_init(jalibFuncPtrs, STDERR_FILENO, -1, 99);
  JASSERT_INIT("");
}