This stupid thing has to block
This commit is contained in:
parent
55fdd4cc04
commit
76d4d77c24
|
@ -1,6 +1,6 @@
|
||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "20230503"
|
version = "20230505"
|
||||||
author = "Emery Hemingway"
|
author = "Emery Hemingway"
|
||||||
description = "Syndicate actor for publishing Linux ACPI events"
|
description = "Syndicate actor for publishing Linux ACPI events"
|
||||||
license = "Unlicense"
|
license = "Unlicense"
|
||||||
|
|
|
@ -34,12 +34,11 @@ proc relayEvents(ds: Ref; facet: Facet) =
|
||||||
info = resolveMulticastInfo(nls, "acpi_event\0")
|
info = resolveMulticastInfo(nls, "acpi_event\0")
|
||||||
close(nls)
|
close(nls)
|
||||||
let mcast = openSocket(int info.mcastGrpId)
|
let mcast = openSocket(int info.mcastGrpId)
|
||||||
proc relayEvent =
|
while true:
|
||||||
let event = recvAcpiEvent(mcast, info.familyId)
|
let event = recvAcpiEvent(mcast, info.familyId)
|
||||||
run(facet) do (turn: var Turn):
|
run(facet) do (turn: var Turn):
|
||||||
message(turn, ds, event)
|
message(turn, ds, event)
|
||||||
callSoon: relayEvent()
|
poll()
|
||||||
callSoon: relayEvent()
|
|
||||||
|
|
||||||
# TODO seccomp
|
# TODO seccomp
|
||||||
|
|
||||||
|
@ -49,10 +48,6 @@ type Args {.preservesDictionary.} = object
|
||||||
bootDataspace("main") do (root: Ref; turn: var Turn):
|
bootDataspace("main") do (root: Ref; turn: var Turn):
|
||||||
connectStdio(root, turn)
|
connectStdio(root, turn)
|
||||||
onPublish(turn, root, ?Args) do (ds: Ref):
|
onPublish(turn, root, ?Args) do (ds: Ref):
|
||||||
stderr.writeLine("ds is ", ds)
|
|
||||||
relayEvents(ds, turn.facet)
|
relayEvents(ds, turn.facet)
|
||||||
|
|
||||||
onPublish(turn, root, grab()) do (a: Assertion):
|
|
||||||
stderr.writeLine("saw ", a)
|
|
||||||
|
|
||||||
runForever()
|
runForever()
|
||||||
|
|
Loading…
Reference in New Issue