On 4/27/25 22:19, Duncan Murdoch wrote:
BTW, the help for setTimeLimit() says that the time limit check
happens frequently during `Sys.sleep()`, but that doesn't appear to be
true. I've tried a variation on the code above which sleeps for 20
seconds, even with a time limit of 1 second.
Regarding base R, this works for me in Linux:
> setTimeLimit(elapsed=10)
> for(i in 1:1000) Sys.sleep(0.1)
Error in Sys.sleep(0.1) : reached elapsed time limit
That is, the loop gets interrupted after about 10s.
Reading the code of R, there is a check in Sys.sleep(), but only after
the first wait (in a loop, iteratively waiting for the required
duration). When polled events are not active, the first wait is the
whole duration.
I would read the documentation of ?setTimeLimit as that the check
happens during Sys.sleep(), but not necessarily frequently, that
"frequently" only refers to R code. And then the documentation would
seem correct (or at least not contradicted). On the other hand, right,
we could change Rsleep() to use a shorter sleep when elapsed time limit
is in place, and that wouldn't contradict the documentation, either.
Best
Tomas
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel