Replies: 1 comment 3 replies
-
|
"coroutine code is a bit of a tangle" I agree. Do you think it would be better to split the code into many Coro.[hc] files like: coroutine/{operating system}/{supported architecture}/Coro.[hc] And have the build system choose the correct one to use? Many of these would be the same files (e.g. where ucontext or fibers can be used) but it still might be easier to understand and maintain. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Following on from #483,
As we know nearly all of Io is very portable C code, the main exception being the coroutine library.
I've come across a few problems with this not compiling on various platforms and also not working properly in certain circumstances. I am working on a patch to address all the things I have found but I think it is worth discussing a bit. I've been trying to get everything to work on Windows (x86, x64) , MacOS (ARM64) and Linux (ARM32, ARM64) but it's rather time consuming as these are different machines so I have to move between them.
In general the coroutine code is a bit of a tangle of #ifdefs which have accumulated and I was wondering if someone could take a longer view on tidying it up.
I will post my patch(es) as a draft PR soon, does that make sense?
Beta Was this translation helpful? Give feedback.
All reactions