Releases: r-lib/later
later 1.3.2
later 1.3.1
- For C function declarations that take no parameters, added
void
parameter. (#172)
later 1.3.0
later 1.2.0
-
Closed #140: Previously, the event loop stopped running if the R process was forked. (#141)
-
Closed #143: Packages which link to later no longer need to take a direct dependency on Rcpp, because
later.h
no longer includesRcpp.h
. (#144) -
Removed dependency on the BH package. C++11 is now required. (#147)
later 1.1.0.1
-
Private event loops are now automatically run by their parent. That is, whenever an event loop is run, its children event loops are automatically run. The
create_loop()
function has a new parameterparent
, which defaults to the current loop. The auto-running behavior can be disabled by usingcreate_loop(parent=NULL)
. (#119) -
Fixed #73, #109: Previously, later did not build on some platforms, notably ARM, because the
-latomic
linker was needed on those platforms. A configure script now detects when-latomic
is needed. (#114) -
Previously,
execLaterNative
was initialized when the package was loaded, but notexecLaterNative2
, resulting in a warning message in some cases. (#116)
later 1.0.0
- Added private event loops: these are event loops that can be run independently from the global event loop. These are useful when you have code that schedules callbacks with
later()
, and you want to callrun_now()
block and wait for those callbacks to execute before continuing. Without private event loops, if you callrun_now()
to wait until a particular callback has finished, you might inadvertantly run other callbacks that were scheduled by other code. With private event loops, you can create a private loop, schedule a callback on it, then callrun_now()
on that loop until it executes, all without interfering with the global loop. (#84)
later 0.8.0
-
Fixed issue #77: On some platforms, the system's C library has support for C11-style threads, but there is no
threads.h
header file. In this case, later's configure script tried to use the tinycthread, but upon linking, there were function name conflicts between tinycthread and the system's C library. Later no longer tries to use the system'sthreads.h
, and the functions in tinycthread were renamed so that they do not accidentally link to the system C library's C11-style thread functions. PR #79 -
Added
all
argument torun_now()
; defaults toTRUE
, but if set toFALSE
, thenrun_now
will run at most one later operation before returning. PR #75 -
Fixed issue #74: Using later with R at the terminal on POSIX could cause 100% CPU. This was caused by later accidentally provoking R to call its input handler continuously. PR #76
-
Fixed issue #73: Linking later on ARM failed because
boost::atomic
requires the-lboost_atomic
flag. Now later tries to usestd::atomic
when available (when the compiler supports C++11), and falls back toboost::atomic
if not. PR #80
later 0.7.5
- Fixed issue where the order of callbacks scheduled by native later::later could be nondeterministic if they are scheduled too quickly. This was because callbacks were sorted by the time at which they come due, which could be identical. Later now uses the order of insertion as a tiebreaker. PR #69