From 0459dd06e5f7f6ebb1e4340602ca5cf5043a0b27 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Wed, 13 May 2020 10:01:28 -0400 Subject: [PATCH] fix: extract signals to separate file --- src/signals.nim | 9 +++++++++ src/status.nim | 11 ++--------- 2 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 src/signals.nim diff --git a/src/signals.nim b/src/signals.nim new file mode 100644 index 0000000000..3f7867af89 --- /dev/null +++ b/src/signals.nim @@ -0,0 +1,9 @@ +import libstatus + +var onSignal*: SignalCallback = proc(p0: cstring): void = + setupForeignThreadGc() + # TODO: Dispatch depending on message type $jsonSignal["type"].getStr + # Consider also have an intermediate object with an enum for type + # So you do not have to deal with json objects but with a nim type + echo $p0 + tearDownForeignThreadGc() diff --git a/src/status.nim b/src/status.nim index 6d3bd0dc7a..557573aae6 100644 --- a/src/status.nim +++ b/src/status.nim @@ -1,6 +1,7 @@ import os import libstatus import json +import signals const datadir = "./data/" const keystoredir = "./data/keystore/" @@ -11,19 +12,11 @@ proc recreateDir(dirname: string) = removeDir(dirname) createDir(dirname) - - proc setSignalHandler(signalHandler: SignalCallback) = libstatus.setSignalEventCallback(signalHandler) proc init*() = - var onSignal: SignalCallback = proc(p0: cstring): void = - setupForeignThreadGc() - # TODO: Dispatch depending on message type $jsonSignal["type"].getStr - # Consider also have an intermediate object with an enum for type - # So you do not have to deal with json objects but with a nim type - echo $p0 - tearDownForeignThreadGc() + setSignalHandler(onSignal)