Пример #1
0
void Thread :: ShutdownInternalThread(bool waitForThread)
{
   if (IsInternalThreadRunning())
   {
      (void) SendMessageToInternalThread(MessageRef());  // a NULL message ref tells him to quit
      if (waitForThread) WaitForInternalThreadToExit();
   }
}
ConnectionIOServer::~ConnectionIOServer() {
    if (pipefd_[0] != -1 && pipefd_[1] != -1) {
        add_socket_to_IO_server(-1);
        WaitForInternalThreadToExit();
        close(pipefd_[0]); 
        close(pipefd_[1]);
    }
    pthread_mutex_destroy(&lock_);
}
Пример #3
0
bool InternalThread::StartInternalThread() {
  if (!WaitForInternalThreadToExit()) {
    return false;
  }
  try {
    thread_.reset(new boost::thread(&InternalThread::InternalThreadEntry, this));
  } catch (...) {
    return false;
  }
  return true;
}
Пример #4
0
bool InternalThread::StartInternalThread() {
  if (!WaitForInternalThreadToExit()) {
    return false;
  }
  try {
    thread_ = new caffe::Thread
        (&InternalThread::InternalThreadEntry, this);
  } catch (...) {
    return false;
  }
  return true;
}
Пример #5
0
bool InternalThread::StartInternalThread() {
#if 0
  if (!WaitForInternalThreadToExit()) {
    return false;
  }
  try {
    thread_.reset(
        new boost::thread(&InternalThread::InternalThreadEntry, this));
  } catch (...) {
    return false;
  }
#endif
  fprintf(stderr, "Unimplemented!\n");
  exit(1);
  return true;
}
void BasePrefetchingDataLayer<Dtype>::JoinPrefetchThread() {
  CHECK(WaitForInternalThreadToExit()) << "Thread joining failed";
}
Пример #7
0
 void BasePrefetchingProducer::JoinPrefetchThread() {
   CHECK(WaitForInternalThreadToExit()) << "Thread joining failed";
 }
Пример #8
0
InternalThread::~InternalThread() {
  WaitForInternalThreadToExit();
}
Пример #9
0
InternalThread::~InternalThread() {
  WaitForInternalThreadToExit();
  if (thread_ != NULL) {
    delete thread_;
  }
}