From ff417d40178b7363b08516091f74c0b6615456ee Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 19 Jul 2021 21:45:29 +0000 Subject: hurd: Add support for spawn_do_closefrom --- sysdeps/mach/hurd/spawni.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'sysdeps/mach/hurd/spawni.c') diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c index e011c3b34b..060e389bbb 100644 --- a/sysdeps/mach/hurd/spawni.c +++ b/sysdeps/mach/hurd/spawni.c @@ -505,6 +505,19 @@ retry: return EBADF; } + /* Close file descriptors in the child. */ + error_t do_closefrom (int lowfd) + { + while ((unsigned int) lowfd < dtablesize) + { + error_t err = do_close (lowfd); + if (err != 0 && err != EBADF) + return err; + lowfd++; + } + return 0; + } + /* Make sure the dtable can hold NEWFD. */ #define EXPAND_DTABLE(newfd) \ ({ \ @@ -615,7 +628,7 @@ retry: break; case spawn_do_closefrom: - err = EINVAL; + err = do_closefrom (action->action.closefrom_action.from); break; } -- cgit 1.4.1