disable -daemon on windows; bitcoind forks only with -daemon set
[added setsid() call to ui.cpp, to regain consistency with init.cpp -jgarzik]
This commit is contained in:
parent
d98beea894
commit
d12ea887bc
2 changed files with 20 additions and 8 deletions
24
init.cpp
24
init.cpp
|
@ -78,7 +78,9 @@ int main(int argc, char* argv[])
|
|||
fRet = AppInit(argc, argv);
|
||||
|
||||
if (fRet && fDaemon)
|
||||
pthread_exit((void*)0);
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -160,6 +162,8 @@ bool AppInit2(int argc, char* argv[])
|
|||
" -paytxfee=<amt> \t " + _("Fee per KB to add to transactions you send\n") +
|
||||
#ifdef GUI
|
||||
" -server \t\t " + _("Accept command line and JSON-RPC commands\n") +
|
||||
#endif
|
||||
#ifndef __WXMSW__
|
||||
" -daemon \t\t " + _("Run in the background as a daemon and accept commands\n") +
|
||||
#endif
|
||||
" -testnet \t\t " + _("Use the test network\n") +
|
||||
|
@ -196,17 +200,20 @@ bool AppInit2(int argc, char* argv[])
|
|||
|
||||
fDebug = GetBoolArg("-debug");
|
||||
|
||||
#ifndef __WXMSW__
|
||||
fDaemon = GetBoolArg("-daemon");
|
||||
#else
|
||||
fDaemon = false;
|
||||
#endif
|
||||
|
||||
if (fDaemon)
|
||||
fServer = true;
|
||||
else
|
||||
fServer = GetBoolArg("-server");
|
||||
|
||||
/* force fServer and fDaemon when running without GUI */
|
||||
/* force fServer when running without GUI */
|
||||
#ifndef GUI
|
||||
fServer = true;
|
||||
fDaemon = true;
|
||||
#endif
|
||||
|
||||
fPrintToConsole = GetBoolArg("-printtoconsole");
|
||||
|
@ -226,7 +233,7 @@ bool AppInit2(int argc, char* argv[])
|
|||
exit(ret);
|
||||
}
|
||||
|
||||
#ifndef GUI
|
||||
#ifndef __WXMSW__
|
||||
if (fDaemon)
|
||||
{
|
||||
// Daemonize
|
||||
|
@ -472,10 +479,11 @@ bool AppInit2(int argc, char* argv[])
|
|||
if (fFirstRun)
|
||||
SetStartOnSystemStartup(true);
|
||||
#endif
|
||||
|
||||
if (fDaemon)
|
||||
while (!fShutdown)
|
||||
Sleep(5000);
|
||||
|
||||
#ifndef GUI
|
||||
while (1)
|
||||
Sleep(5000);
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
4
ui.cpp
4
ui.cpp
|
@ -2808,6 +2808,10 @@ bool CMyApp::Initialize(int& argc, wxChar** argv)
|
|||
}
|
||||
if (pid > 0)
|
||||
pthread_exit((void*)0);
|
||||
|
||||
pid_t sid = setsid();
|
||||
if (sid < 0)
|
||||
fprintf(stderr, "Error: setsid() returned %d errno %d\n", sid, errno);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue