Learn R Programming

RcppParallel (version 6.2.0)

isProcessForkedChild: Is the Current Process a Forked Child?

Description

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

Usage

isProcessForkedChild()

Arguments

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

Run this code
if (FALSE) {
library(RcppParallel)
isProcessForkedChild()
parallel::mclapply(1:2, function(i) RcppParallel::isProcessForkedChild())
}

Run the code above in your browser using DataLab