Age | Commit message (Collapse) | Author |
|
This has quite a few changes due to the low-level nature of this code:
when the contents of a string get copied by C functions, we can't pass
it to arguments of the scheme-pointer type directly anymore.
Instead, strings are now wrapper objects which point to an internal
(NUL-terminated!) bytevector. So not only do we have to extract this
bytevector and pass it to these C functions, but we also need to
calculate the string length excluding the NUL terminator. This
creates a bit more branching in the code to get the thing to copy and
length.
The nice thing is that we no longer need to append NUL bytes to
strings in a few places. Instead, we can just pass the raw bytevector
to the C functions, which means this should be rather faster now.
|
|
We used to use srfi-18, but that's an extra dependency we don't need
so when we added our own thread waiter with support for a delay, we
dropped srfi-18 altogether, also for calls not using the delay.
Tests did not catch this, ironically, because they load srfi-18.
|
|
|
|
This really is just a matter of reading out notifications when they're
available. Also, we offer a way to explicitly wait for notifications.
|
|
|
|
|