Browse Source

block all signals, even implementation-internal ones, in faccessat child

the child process's stack may be insufficient size to support a signal
frame, and there is no reason these signal handlers should run in the
child anyway.
Rich Felker 11 years ago
parent
commit
9848e64819
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/unistd/faccessat.c

+ 1 - 1
src/unistd/faccessat.c

@@ -37,7 +37,7 @@ int faccessat(int fd, const char *filename, int amode, int flag)
 	if (pipe(p)) return __syscall_ret(-EBUSY);
 	struct ctx c = { .fd = fd, .filename = filename, .amode = amode, .p = p[1] };
 
-	__block_app_sigs(&set);
+	__block_all_sigs(&set);
 	
 	ret = __clone(checker, stack+sizeof stack, 0, &c);
 	__syscall(SYS_close, p[1]);