From ca2dcedff0d0b809d57ad1262a8b8c7f3f110dd8 Mon Sep 17 00:00:00 2001 From: shikokuchuo <53399081+shikokuchuo@users.noreply.github.com> Date: Thu, 21 Sep 2023 15:18:05 +0100 Subject: [PATCH] exit wait on cv instead --- DESCRIPTION | 2 +- NEWS.md | 2 +- R/mirai.R | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f56830a96..c4d0ef23a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: mirai Type: Package Title: Minimalist Async Evaluation Framework for R -Version: 0.10.0.9005 +Version: 0.10.0.9006 Description: Lightweight parallel code execution and distributed computing. Designed for simplicity, a 'mirai' evaluates an R expression asynchronously, on local or network resources, resolving automatically upon completion. diff --git a/NEWS.md b/NEWS.md index 0a22b10e9..82610e529 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# mirai 0.10.0.9005 (development) +# mirai 0.10.0.9006 (development) * `daemon()` argument 'exitlinger' retired as daemons now synchronise with the host/dispatcher and exit as soon as possible. * Optimises scheduling at dispatcher: tasks are no longer assigned to a daemon if it is exiting due to specified time/task-outs. diff --git a/R/mirai.R b/R/mirai.R index 20c496cf6..7ad996acc 100644 --- a/R/mirai.R +++ b/R/mirai.R @@ -121,7 +121,8 @@ daemon <- function(url, asyncdial = FALSE, maxtasks = Inf, idletime = Inf, (count >= maxtasks || count > timerstart && mclock() - start >= walltime) && { send(ctx, data = data, mode = 0L) - recv(sock, mode = 8L, block = .timelimit) + data <- recv_aio_signal(sock, cv = cv, mode = 8L) + wait(cv) break }