소스 검색

fix copy/paste error in popen changes that broke signals

signal mask was not being restored after fork, but instead blocked again.
Rich Felker 12 년 전
부모
커밋
f1b23d41cf
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/stdio/popen.c

+ 1 - 1
src/stdio/popen.c

@@ -42,7 +42,7 @@ FILE *popen(const char *cmd, const char *mode)
 	if (pid) {
 		__release_ptc();
 		__syscall(SYS_close, p[1-op]);
-		sigprocmask(SIG_BLOCK, SIGALL_SET, &old);
+		sigprocmask(SIG_SETMASK, &old, 0);
 		if (pid < 0) {
 			fclose(f);
 			return 0;