diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-05-11 16:29:01 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-05-11 16:29:01 +0000 |
commit | 4b632a08e4b58140b9946b644c7884d3f0294c09 (patch) | |
tree | 2fa9508eecd9aec56dab6284a35f801e5f7b4924 | |
parent | 846e279c25cecde21087b50bda4ad2f3ed9d0321 (diff) | |
download | s6-networking-4b632a08e4b58140b9946b644c7884d3f0294c09.tar.xz |
Explicitly make s6-tls[cd] die when the app dies
I have no explanation for the fact that they sometimes survive their app,
and I'm fed up with it, so it's time to use the big hammer.
-rw-r--r-- | src/sbearssl/sbearssl_run.c | 6 | ||||
-rw-r--r-- | src/stls/stls_run.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/sbearssl/sbearssl_run.c b/src/sbearssl/sbearssl_run.c index 26a8bd3..dd2f49b 100644 --- a/src/sbearssl/sbearssl_run.c +++ b/src/sbearssl/sbearssl_run.c @@ -112,7 +112,11 @@ int sbearssl_run (br_ssl_engine_context *ctx, int *fds, pid_t pid, unsigned int /* Signal */ - if (x[0].revents & IOPAUSE_READ) handle_signals(pid, &e) ; + if (x[0].revents & IOPAUSE_READ) + { + handle_signals(pid, &e) ; + if (e >= 0) break ; + } /* Flush to local */ diff --git a/src/stls/stls_run.c b/src/stls/stls_run.c index 3f2742d..b6e1bf3 100644 --- a/src/stls/stls_run.c +++ b/src/stls/stls_run.c @@ -214,7 +214,11 @@ int stls_run (struct tls *ctx, int *fds, pid_t pid, unsigned int verbosity, uint /* Signal */ - if (x[0].revents & IOPAUSE_READ) handle_signals(pid, &e) ; + if (x[0].revents & IOPAUSE_READ) + { + handle_signals(pid, &e) ; + if (e >= 0) break ; + } /* Flush to local */ |