R/with_timeout.R

Defines functions with_timeout

Documented in with_timeout

#' @title
#' Wrap to include a timeout to evaluation.
#' @param expr Expression to evaluate.
#' @inheritParams base::setTimeLimit
#' @rdname with_timeout
#' @export

with_timeout <-
        function(expr, cpu, elapsed){

        expr <- substitute(expr)
        envir <- parent.frame()
        setTimeLimit(cpu = cpu, elapsed = elapsed, transient = TRUE)
        on.exit(setTimeLimit(cpu = Inf, elapsed = Inf, transient = FALSE))
        eval(expr, envir = envir)

}
meerapatelmd/pg13 documentation built on Dec. 31, 2021, 7:20 p.m.