Skip to contents

Returns TRUE if the current process is a fork() of the process in which RcppParallel was originally loaded.

Usage

isProcessForkedChild()

Value

A length-one logical.

Details

Intel TBB — the parallel backend used by parallelFor() and parallelReduce() — does not support being used in a child process after fork(). Packages that may be invoked from within parallel::mclapply() or similar fork-based parallelism should call isProcessForkedChild() and fall back to a serial code path when it returns TRUE.

On Windows, which has no fork(), this always returns FALSE.

Examples

if (FALSE) { # \dontrun{
library(RcppParallel)
isProcessForkedChild()
parallel::mclapply(1:2, function(i) RcppParallel::isProcessForkedChild())
} # }