Skip to content

Commit db73eb4

Browse files
authored
Merge pull request swiftlang#32846 from mikeash/fix-readline-eintr
[Stdlib] Handle EINTR in readLine.
2 parents b54e57d + da11108 commit db73eb4

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

stdlib/public/stubs/Stubs.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,11 @@ swift_stdlib_readLine_stdin(unsigned char **LinePtr) {
337337
return Pos;
338338
#else
339339
size_t Capacity = 0;
340-
return getline((char **)LinePtr, &Capacity, stdin);
340+
int result;
341+
do {
342+
result = getline((char **)LinePtr, &Capacity, stdin);
343+
} while (result < 0 && errno == EINTR);
344+
return result;
341345
#endif
342346
}
343347

0 commit comments

Comments
 (0)