diff --git a/R/workers.r b/R/workers.r index 20969696..73ec0ecd 100644 --- a/R/workers.r +++ b/R/workers.r @@ -13,6 +13,7 @@ workers = function(n_jobs, data=NULL, reuse=TRUE, template=list(), log_worker=FA if (n_jobs == 0) return(get("LOCAL", envir=parent.env(environment()))$new()) + gc() # be sure to clean up old rzmq handles (zeromq/libzmq/issues/1108) qsys = get(toupper(qsys_id), envir=parent.env(environment())) qsys = qsys$new(data=data, reuse=reuse) diff --git a/tests/testthat/test-3-worker.r b/tests/testthat/test-3-worker.r index 47d2bfbe..52e4ef2f 100644 --- a/tests/testthat/test-3-worker.r +++ b/tests/testthat/test-3-worker.r @@ -9,7 +9,7 @@ master = paste("tcp://localhost", port, sep=":") start_worker = function() { skip_if_not(has_localhost) skip_on_os("windows") - + gc() # be sure to clean up old rzmq handles (zeromq/libzmq/issues/1108) p = parallel::mcparallel(worker(master)) msg = recv(p, socket) testthat::expect_equal(msg$id, "WORKER_UP")