Skip to content

Commit 2a447c5

Browse files
evalFuture(): Remove argument 'immediateConditions'
1 parent 73b6397 commit 2a447c5

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: future
2-
Version: 1.34.0-9101
2+
Version: 1.34.0-9102
33
Title: Unified Parallel and Distributed Processing in R for Everyone
44
Imports:
55
digest,

R/Future-class.R

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ getExpression <- function(future, ...) UseMethod("getExpression")
659659
getExpression.Future <- local({
660660
tmpl_expr_evaluate2 <- bquote_compile({
661661
## Evaluate future
662-
future:::evalFuture(core = .(core), local = .(local), stdout = .(stdout), conditionClasses = .(conditionClasses), split = .(split), immediateConditions = .(immediateConditions), immediateConditionClasses = .(immediateConditionClasses), strategiesR = .(strategiesR), forwardOptions = .(forwardOptions), threads = .(threads), cleanup = .(cleanup))
662+
future:::evalFuture(core = .(core), local = .(local), stdout = .(stdout), conditionClasses = .(conditionClasses), split = .(split), immediateConditionClasses = .(immediateConditionClasses), strategiesR = .(strategiesR), forwardOptions = .(forwardOptions), threads = .(threads), cleanup = .(cleanup))
663663
})
664664

665665
function(future, expr = future$expr, conditionClasses = future$conditions, immediateConditions = FALSE, mc.cores = NULL, threads = NA_integer_, cleanup = TRUE, ...) {
@@ -679,9 +679,6 @@ getExpression.Future <- local({
679679
sQuote(version)))
680680
}
681681

682-
## Globals needed by the future
683-
globals <- globals(future)
684-
685682
## Packages needed by the future
686683
pkgs <- packages(future)
687684
if (length(pkgs) > 0) {
@@ -716,21 +713,25 @@ getExpression.Future <- local({
716713
## Create a future core
717714
core <- list(
718715
expr = expr,
719-
globals = globals,
716+
globals = globals(future),
720717
packages = pkgs,
721718
seed = future$seed
722719
)
723720

724-
if (immediateConditions && !is.null(conditionClasses)) {
721+
## Does the backend support immediate relaying of conditions?
722+
if (immediateConditions) {
725723
immediateConditionClasses <- getOption("future.relay.immediate", "immediateCondition")
726-
conditionClassesExclude <- attr(conditionClasses, "exclude", exact = TRUE)
724+
} else {
725+
immediateConditionClasses <- character(0L)
726+
}
727+
728+
if (length(immediateConditionClasses) > 0 && !is.null(conditionClasses)) {
729+
exclude <- attr(conditionClasses, "exclude", exact = TRUE)
727730
muffleInclude <- attr(conditionClasses, "muffleInclude", exact = TRUE)
728731
if (is.null(muffleInclude)) muffleInclude <- "^muffle"
729732
conditionClasses <- unique(c(conditionClasses, immediateConditionClasses))
730-
attr(conditionClasses, "exclude") <- conditionClassesExclude
733+
attr(conditionClasses, "exclude") <- exclude
731734
attr(conditionClasses, "muffleInclude") <- muffleInclude
732-
} else {
733-
immediateConditionClasses <- character(0L)
734735
}
735736

736737
forwardOptions <- list(

R/expressions.R

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FutureEvalError <- function(...) {
44
ex
55
}
66

7-
evalFuture <- function(core, local = FALSE, stdout = TRUE, conditionClasses = character(0L), split = FALSE, immediateConditions = NULL, immediateConditionClasses = character(0L), forwardOptions = NULL, strategiesR = NULL, threads = NA_integer_, envir = parent.frame(), cleanup = TRUE) {
7+
evalFuture <- function(core, local = FALSE, stdout = TRUE, conditionClasses = character(0L), split = FALSE, immediateConditionClasses = character(0L), forwardOptions = NULL, strategiesR = NULL, threads = NA_integer_, envir = parent.frame(), cleanup = TRUE) {
88
expr <- core$expr
99
globals <- core$globals
1010
packages <- core$packages
@@ -15,17 +15,12 @@ evalFuture <- function(core, local = FALSE, stdout = TRUE, conditionClasses = ch
1515
length(stdout) == 1L && is.logical(stdout),
1616
length(split) == 1L && is.logical(split) && !is.na(split),
1717
is.null(conditionClasses) || (is.character(conditionClasses) && !anyNA(conditionClasses) && all(nzchar(conditionClasses))),
18-
length(immediateConditions) == 1L && is.logical(immediateConditions) && !is.na(immediateConditions),
1918
is.character(immediateConditionClasses) && !anyNA(immediateConditionClasses) && all(nzchar(immediateConditionClasses)),
2019
is.null(seed) || is_lecyer_cmrg_seed(seed) || (is.logical(seed) && !is.na(seed) || !seed),
2120
length(threads) == 1L && is.integer(threads) && (is.na(threads) || threads >= 1L),
2221
length(cleanup) == 1L && is.logical(cleanup) && !is.na(cleanup)
2322
)
2423

25-
if (!immediateConditions) {
26-
immediateConditionClasses <- character(0L)
27-
}
28-
2924
## Is it possible to force single-threaded processing?
3025
if (!is.na(threads)) {
3126
## Setting other than single-threaded processing is currently not

0 commit comments

Comments
 (0)