On Sunday, 31 August 2025 at 14:38:27 UTC, Paolo Invernizzi wrote:
On Monday, 18 August 2025 at 15:20:14 UTC, Dmitry Olshansky
[snip]
Other photon examples:
https://github.com/DmitryOlshansky/photon/tree/master

I tried to include all the sources of photon in a application that it's cross-compiled to linux (Pi5, AArch64) and cross-linked with some C libs, and I'm seeing this:

```
2025-08-31T16:22:18.438 [error] extern(C) private ssize_t close(int fd) nothrow src/photon/linux/core.d(1150,27): Previous IR type: i32 (i32) src/photon/linux/core.d(1150,27): New IR type: i64 (i32)
```

In linux.core.d: extern(C) private ssize_t close(int fd) nothrow

but `man 2 close` is `int close(int fd)`, it's a bug?

Fixed among a ton of other things in v0.14.1.

Introduced Mutex and RecursiveMutex for my upcoming plan to rewrite vibe-core on top of photon. Next in line CondVar and with that I should be ready to reimplement most of vibe.core.sync.

Also notably I ditched timer based sleeps in favor of a scheduler with Mecca's time queue maintained explicitly. Simplified a lot of things. I'm uncertain what I'd do about timers so far their only API was basically sleep which is already handled by delay. That and the coming support for timeout in the select API.

For now it's only Linux and MacOS that have this new scheduler, Windows staying mostly as is until around October when I'd finally get to my Windows desktop.

Reply via email to