bug-hurd
[Top][All Lists]
Advanced

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

[PATCH] libfshelp: keep stdin and stdout open


From: Flávio Cruz
Subject: [PATCH] libfshelp: keep stdin and stdout open
Date: Thu, 31 Jul 2008 18:45:43 +0100

Hi,

This patches changes the available file descriptors when starting
translator processes. It keeps stdin and stdout open, both pointing to
/dev/null.
This patch has the side effect of fixing the strange behavior of CLISP
when starting Lisp translators (it goes into a stack overflow with
stdin and stdout closed).

Notes on new headers:
- fcntl.h: O_READ, O_WRITE
- paths.h: _PATH_DEVNULL

Index: start-translator.c
===================================================================
RCS file: /sources/hurd/hurd/libfshelp/start-translator.c,v
retrieving revision 1.5
diff -u -r1.5 start-translator.c
--- start-translator.c  30 Jan 2001 23:45:32 -0000      1.5
+++ start-translator.c  28 Jul 2008 20:01:50 -0000
@@ -20,6 +20,8 @@

 #include "fshelp.h"
 #include <unistd.h>
+#include <fcntl.h>
+#include <paths.h>
 #include <string.h>
 #include <hurd.h>

@@ -43,6 +45,8 @@
   ports[INIT_PORT_CWDIR] = getcwdir ();
   ports[INIT_PORT_CRDIR] = getcrdir ();
   ports[INIT_PORT_AUTH] = getauth ();
+  fds[STDIN_FILENO] = file_name_lookup (_PATH_DEVNULL, O_READ, 0);
+  fds[STDOUT_FILENO] = file_name_lookup (_PATH_DEVNULL, O_WRITE, 0);
   fds[STDERR_FILENO] = getdport (STDERR_FILENO);

   err = fshelp_start_translator_long (underlying_open_fn, cookie,

Attachment: libfshelp-start-translator.patch
Description: Text Data


reply via email to

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