You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
man utimensat doesn't document it (at least on Ubuntu 16.04 -- but this page seems to do for futimens), but it seems that utimensat() can return errno = EINTR when interrupted.
This just occurred to me when sending SIGSTOP (Ctrl-Z) to my program and then resuming:
setFileTimesHiRes: interrupted (Interrupted system call)
If it can really return EINTR, we'd have to change
setFileTimesHiRes name atime mtime =
withFilePath name $ \s ->
withArray [toCTimeSpec atime, toCTimeSpec mtime] $ \times ->
throwErrnoPathIfMinus1_ "setFileTimesHiRes" name $
c_utimensat (-100) s times 0
to use throwErrnoIfMinus1Retry_ instead.
The text was updated successfully, but these errors were encountered:
nh2
changed the title
setFdTimesHiRes apparently can receive EINTR
setFileTimesHiRes apparently can receive EINTR
Feb 18, 2017
man utimensat
doesn't document it (at least on Ubuntu 16.04 -- but this page seems to do forfutimens
), but it seems thatutimensat()
can returnerrno = EINTR
when interrupted.This just occurred to me when sending SIGSTOP (Ctrl-Z) to my program and then resuming:
setFileTimesHiRes: interrupted (Interrupted system call)
If it can really return
EINTR
, we'd have to changeto use
throwErrnoIfMinus1Retry_
instead.The text was updated successfully, but these errors were encountered: