diff options
Diffstat (limited to 'lib/posix/posix.nim')
-rw-r--r-- | lib/posix/posix.nim | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/posix/posix.nim b/lib/posix/posix.nim index c230e6598..fa589e905 100644 --- a/lib/posix/posix.nim +++ b/lib/posix/posix.nim @@ -985,14 +985,21 @@ proc utimes*(path: cstring, times: ptr array[2, Timeval]): int {. proc handle_signal(sig: cint, handler: proc (a: cint) {.noconv.}) {.importc: "signal", header: "<signal.h>".} template onSignal*(signals: varargs[cint], body: untyped) = - ## Setup code to be executed when Unix signals are received. Example: - ## from posix import SIGINT, SIGTERM - ## onSignal(SIGINT, SIGTERM): - ## echo "bye" + ## Setup code to be executed when Unix signals are received. The + ## currently handled signal is injected as ``sig`` into the calling + ## scope. + ## + ## Example: + ## + ## .. code-block:: + ## from posix import SIGINT, SIGTERM + ## onSignal(SIGINT, SIGTERM): + ## echo "bye from signal ", sig for s in signals: handle_signal(s, - proc (sig: cint) {.noconv.} = + proc (signal: cint) {.noconv.} = + let sig {.inject.} = signal body ) |