Skip to content

1.0.7

Choose a tag to compare

@BlueCyro BlueCyro released this 26 Jul 10:45
· 8 commits to main since this release
8642cbc

This release adds explicit compatibility when the library is used in Wine by exposing native Linux shared memory primitives to the Wine environment (such as semaphores). This stabilizes communication times considerably when a native Linux program communicates with process(es) running in Wine.

Prior to this, queues attempting to communicate across the Native Linux <-> Wine barrier would never be able to directly trigger one another as the semaphores created by Wine aren't mapped to native Linux semaphores. This meant that when data was enqueued, the other side would have no choice but to either get lucky and see the data while in a rapid spinwait period, or be forced to wait 1-10ms as the queue was queried using a rapid backoff pattern of polling.

Now with the aid of a thin Wine wrapper, native Linux semaphores can be created directly, ensuring increased throughput and consistent timings when transferring data.

  • Improved Wine compatibility considerably
    • Added a thin Wine wrapper to expose native POSIX sem_* functions directly to Wine.
    • This allows queues to properly trigger the opposite side, resulting in faster data throughput with consistent timing

Enjoy!