diff options
author | ehmry <ehmry@posteo.net> | 2022-10-31 13:24:57 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-31 19:24:57 +0100 |
commit | 0b262e9496387d5e8adc0c5f6020b3f3300e8f79 (patch) | |
tree | 62e973c59dddf9b28df2c1a05847bac3e7677f85 /lib/genode/constructibles.nim | |
parent | 39f925b95d57a429a808cfa1b96d6fae12a72dbf (diff) | |
download | Nim-0b262e9496387d5e8adc0c5f6020b3f3300e8f79.tar.gz |
Genode: add scheduleCallbacks to asyncdispatch (#20708)
* Genode: add native signal handler * Genode: add scheduleCallbacks to asyncdispatch This resolves some awkwardness where an RPC server may or may not use callSoon while dispatching RPC but without scheduling timers or I/O.
Diffstat (limited to 'lib/genode/constructibles.nim')
-rw-r--r-- | lib/genode/constructibles.nim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/genode/constructibles.nim b/lib/genode/constructibles.nim new file mode 100644 index 000000000..3a4a646e0 --- /dev/null +++ b/lib/genode/constructibles.nim @@ -0,0 +1,21 @@ +# +# +# Nim's Runtime Library +# (c) Copyright 2022 Emery Hemingway +# +# See the file "copying.txt", included in this +# distribution, for details about the copyright. +# + +type Constructible*[T] {. + importcpp: "Genode::Constructible", + header: "<util/reconstructible.h>", byref, pure.} = object + +proc construct*[T](x: Constructible[T]) {.importcpp.} + ## Construct a constructible C++ object. + +proc destruct*[T](x: Constructible[T]) {.importcpp.} + ## Destruct a constructible C++ object. + +proc constructed*[T](x: Constructible[T]): bool {.importcpp.} + ## Test if an object is constructed. |