diff options
author | Andrew Whatson <whatson@gmail.com> | 2022-12-23 00:27:22 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-01-13 16:07:42 +0100 |
commit | 9332b632407894c2e1951cce1bc678f19e1fa8e4 (patch) | |
tree | 0a4a8907e89f90b696d3a02867970c25ad340087 /NEWS | |
parent | 527c257d6e0ad0480a859f69e9dcf3b0c7aad76e (diff) | |
download | guile-9332b632407894c2e1951cce1bc678f19e1fa8e4.tar.gz |
Reduce redundant 'close' calls when forking on some systems.
Fixes <https://bugs.gnu.org/59321>.
Reported by <hylophile@posteo.de>.
Some systems provide "/proc/self/fd" which is a directory containing an
entry for each open file descriptor in the current process. We use this
to limit the number of close() calls needed to ensure file descriptors
aren't leaked to the child process when forking.
* libguile/posix.c (close_inherited_fds_slow):
(close_inherited_fds): New static helper functions.
(scm_spawn_process): Attempt to close inherited file descriptors
efficiently using 'close_inherited_fds', falling back to the brute-force
approach in 'close_inherited_fds_slow'.
* NEWS: Update.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -99,6 +99,8 @@ Disassembler output now includes the name of intrinsics next to each mode was set explicitly. However, this is not the case. ** 'system*' honors output/error port redirects (https://bugs.gnu.org/52835) +** 'open-input-pipe' & co. are now much faster + (https://bugs.gnu.org/59321) Changes in 3.0.8 (since 3.0.7) |