Add SIGINT signal handler on linux to cleanly shutdown replay host

This commit is contained in:
baldurk
2016-07-13 17:55:47 +02:00
parent 0c55e9374c
commit 95e00d58bf
3 changed files with 28 additions and 3 deletions
+11
View File
@@ -27,6 +27,7 @@
#include <iconv.h>
#include <locale.h>
#include <replay/renderdoc_replay.h>
#include <signal.h>
#include <string.h>
#include <unistd.h>
#include <xcb/xcb.h>
@@ -134,6 +135,14 @@ void DisplayRendererPreview(ReplayRenderer *renderer, TextureDisplay &displayCfg
// be resolved and libGL wouldn't link, meaning dlsym(RTLD_NEXT) would fai
extern "C" void glXWaitGL();
void sig_handler(int signo)
{
if(usingKillSignal)
killSignal = true;
else
exit(1);
}
int main(int argc, char *argv[])
{
std::setlocale(LC_CTYPE, "");
@@ -142,6 +151,8 @@ int main(int argc, char *argv[])
if(never_run)
glXWaitGL();
signal(SIGINT, sig_handler);
// do any linux-specific setup here
// process any linux-specific arguments here