diff --git a/acpi_actor.nimble b/acpi_actor.nimble index 9924fef..9e5545e 100644 --- a/acpi_actor.nimble +++ b/acpi_actor.nimble @@ -1,6 +1,6 @@ # Package -version = "20230503" +version = "20230505" author = "Emery Hemingway" description = "Syndicate actor for publishing Linux ACPI events" license = "Unlicense" diff --git a/src/acpi_actor.nim b/src/acpi_actor.nim index ca9dcb0..ae0eb00 100644 --- a/src/acpi_actor.nim +++ b/src/acpi_actor.nim @@ -34,12 +34,11 @@ proc relayEvents(ds: Ref; facet: Facet) = info = resolveMulticastInfo(nls, "acpi_event\0") close(nls) let mcast = openSocket(int info.mcastGrpId) - proc relayEvent = + while true: let event = recvAcpiEvent(mcast, info.familyId) run(facet) do (turn: var Turn): message(turn, ds, event) - callSoon: relayEvent() - callSoon: relayEvent() + poll() # TODO seccomp @@ -49,10 +48,6 @@ type Args {.preservesDictionary.} = object bootDataspace("main") do (root: Ref; turn: var Turn): connectStdio(root, turn) onPublish(turn, root, ?Args) do (ds: Ref): - stderr.writeLine("ds is ", ds) relayEvents(ds, turn.facet) - onPublish(turn, root, grab()) do (a: Assertion): - stderr.writeLine("saw ", a) - runForever()