about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-05-20 18:31:39 +0200
committerbptato <nincsnevem662@gmail.com>2024-05-20 18:31:45 +0200
commit560b0150bdb120590f6d581da5b7180bac6df52c (patch)
treeb3b66c2a7e6aab137f5ebb945d16522636eb11a2
parent7c4bb940410c8f5ad59e1d21d5565364a9a0cd71 (diff)
downloadchawan-560b0150bdb120590f6d581da5b7180bac6df52c.tar.gz
buffer: never unlink controlling socket in cleanup
The pager already unlinks it, so ideally this should change nothing.

(This was causing buffer processes to core dump on OpenBSD, because I
forgot that I removed unlink promise. Better keep code paths the same
when possible...)
-rw-r--r--src/server/buffer.nim7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim
index 178dd94b..cffe33b1 100644
--- a/src/server/buffer.nim
+++ b/src/server/buffer.nim
@@ -1955,11 +1955,8 @@ proc runBuffer(buffer: Buffer) =
 proc cleanup(buffer: Buffer) =
   buffer.pstream.sclose()
   urandom.sclose()
-  # no unlink access on Linux
-  when defined(linux):
-    buffer.ssock.close(unlink = false)
-  else:
-    buffer.ssock.close()
+  # no unlink access on Linux, so just hope that the pager could clean it up
+  buffer.ssock.close(unlink = false)
 
 proc launchBuffer*(config: BufferConfig; url: URL; attrs: WindowAttributes;
     ishtml: bool; charsetStack: seq[Charset]; loader: FileLoader;