Yeah polling isn’t bad if you’re not doing a bunch of them. You can do notifications using the stdlib async by creating a custom `AsyncEvent`. You need to manually register it to the dispatcher with `addEvent`. It adds a callback that the dispatcher will run when the event is triggered.
Then on your foreign thread you just trigger the async event object. The AsyncObject is threadsafe as I think it’s just a couple of file descriptors.