aboutsummaryrefslogtreecommitdiff
path: root/ui.cpp
diff options
context:
space:
mode:
authors_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2009-12-13 00:13:16 +0000
committers_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2009-12-13 00:13:16 +0000
commit25b12b8839be4fc5a051656aad82870c083cce4d (patch)
treea1a40f23d06f9150c96db876f0e43879037841ae /ui.cpp
parent433fb54b25397d2df117e81345507c08832dfb06 (diff)
downloadbitcoin-25b12b8839be4fc5a051656aad82870c083cce4d.tar.xz
misc exit code, updated setup.nsi
Diffstat (limited to 'ui.cpp')
-rw-r--r--ui.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/ui.cpp b/ui.cpp
index 262f2a8837..7432302854 100644
--- a/ui.cpp
+++ b/ui.cpp
@@ -394,6 +394,14 @@ CMainFrame::~CMainFrame()
ptaskbaricon = NULL;
}
+void ExitTimeout(void* parg)
+{
+#ifdef __WXMSW__
+ Sleep(5000);
+ ExitProcess(0);
+#endif
+}
+
void Shutdown(void* parg)
{
static CCriticalSection cs_Shutdown;
@@ -404,6 +412,7 @@ void Shutdown(void* parg)
fFirstThread = !fTaken;
fTaken = true;
}
+ static bool fExit;
if (fFirstThread)
{
fShutdown = true;
@@ -411,13 +420,18 @@ void Shutdown(void* parg)
DBFlush(false);
StopNode();
DBFlush(true);
+ CreateThread(ExitTimeout, NULL);
+ Sleep(10);
printf("Bitcoin exiting\n\n");
+ fExit = true;
exit(0);
}
else
{
- loop
- Sleep(100000);
+ while (!fExit)
+ Sleep(500);
+ Sleep(100);
+ ExitThread(0);
}
}