本文整理汇总了C++中Daemon::cleanup方法的典型用法代码示例。如果您正苦于以下问题:C++ Daemon::cleanup方法的具体用法?C++ Daemon::cleanup怎么用?C++ Daemon::cleanup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Daemon
的用法示例。
在下文中一共展示了Daemon::cleanup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: entry
void* Daemon::entry(void* data){
struct sync* td = (struct sync*)data;
Daemon* daemon = td->daemon;
/* setup self-pipe */
if ( pipe2(daemon->pipe, O_NONBLOCK) != 0 ){
int saved = errno;
Log::fatal("main", "pipe2() returned %d: %s\n", saved, strerror(saved));
td->value = saved;
sem_post(&td->semaphore);
return NULL;
}
td->value = daemon->init();
sem_post(&td->semaphore);
if ( td->value != 0 ){
return NULL;
}
if ( td->barrier ){
pthread_barrier_wait(td->barrier);
}
daemon->run();
daemon->cleanup();
/* close pipe */
close(daemon->pipe[0]);
close(daemon->pipe[1]);
/* free resources */
sem_destroy(&td->semaphore);
free(td);
return 0;
}