poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[COMMITTED 2/2] poked: poked.pk: close all IO spaces before restarting


From: Mohammad-Reza Nabipoor
Subject: [COMMITTED 2/2] poked: poked.pk: close all IO spaces before restarting
Date: Sat, 17 Sep 2022 22:38:06 +0430

2022-09-17  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

        * poked/poked.pk (poked_restart): Close all IO spaces before
        restarting the daemon.
---
 ChangeLog      | 5 +++++
 poked/poked.pk | 9 ++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 660dfca7..f2697c8e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-09-17  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+
+       * poked/poked.pk (poked_restart): Close all IO spaces before
+       restarting the daemon.
+
 2022-09-17  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
 
        * poked/poked.pk (poked_chan_send): Force Poke to make a copy of
diff --git a/poked/poked.pk b/poked/poked.pk
index 718329f1..663331b7 100644
--- a/poked/poked.pk
+++ b/poked/poked.pk
@@ -24,7 +24,14 @@ load "pk-dump-minimal.pk";
 var __poked_restart_p = 0;
 var __poked_exit_p = 0;
 
-fun poked_restart = void: { __poked_restart_p = 1; exit; }
+fun poked_restart = void:
+  {
+    for (fd in iolist)
+      try { close (fd); }
+      catch {}
+    __poked_restart_p = 1;
+    exit;
+  }
 fun poked_exit = void: { __poked_exit_p = 1; exit; }
 fun poked_defer = void: {}
 
-- 
2.37.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]