add: return(0);
context: void* ecasound_watchdog_thread(void* arg){  sigset_t signalset;  struct ecasound_state* state = reinterpret_cast<struct ecasound_state*>(arg);  int signalno;  /* register cleanup routine */  atexit(&ecasound_atexit_cleanup);  // cerr << "Watchdog-thread created, pid=" << getpid() << "." << endl;  sigemptyset(&signalset);  /* handle the following signals explicitly */  sigaddset(&signalset, SIGTERM);  sigaddset(&signalset, SIGINT);  sigaddset(&signalset, SIGHUP);  sigaddset(&signalset, SIGPIPE);  /* block until a signal received */  sigwait(&signalset, &signalno);  state->exit_request = 1;    // cerr << endl << "ecasound: watchdog-thread received signal " << signalno << ". Cleaning up..." << endl;  /* give time for the console interface thread to die gracefully */  sleep(1);  // cerr << endl << "ecasound: watchdog-thread exiting..." << endl;  exit(state->retval);}