October 14

Photon is a minimalistic multi-threaded fiber scheduler and event loop that works transparently with traditional blocking I/O C/C++/D/Rust libraries w/o degrading performance. Think of it as Golang style concurrency that is brought to D transparently.

All Linux/OSX versions of Photon up to v0.10.0 had a bug in creation of event loop thread, by mistake thread_id was overwritten by error code of pthread_create. Some libc use pointers as tid therefore causing prompt crash on exit, others (glibc) failed harmlessly.

Thanks to the Russian D language community for bringing up the issue.


Dmitry Olshansky
CEO @ Glow Labs
https://olshansky.me/about/

October 14

On Monday, 14 October 2024 at 16:17:29 UTC, Dmitry Olshansky wrote:

>

Photon is a minimalistic multi-threaded fiber scheduler and event loop that works transparently with traditional blocking I/O C/C++/D/Rust libraries w/o degrading performance. Think of it as Golang style concurrency that is brought to D transparently.

https://code.dlang.org/packages/photon

>

All Linux/OSX versions of Photon up to v0.10.0 had a bug in creation of event loop thread, by mistake thread_id was overwritten by error code of pthread_create. Some libc use pointers as tid therefore causing prompt crash on exit, others (glibc) failed harmlessly.

Thanks to the Russian D language community for bringing up the issue.


Dmitry Olshansky
CEO @ Glow Labs
https://olshansky.me/about/