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)

}
patelm9/pg13 documentation built on Dec. 26, 2021, 8:17 p.m.