~dokomix/dokomix/+git/taisei-koishi:master

Last commit made on 2023-09-09
Get this branch:
git clone -b master https://git.launchpad.net/~dokomix/dokomix/+git/taisei-koishi

Branch merges

Branch information

Name:
master
Repository:
lp:~dokomix/dokomix/+git/taisei-koishi

Recent commits

4adb182... by Omar Polo <email address hidden>

stack_alloc: use MAP_STACK when available

Needed on OpenBSD for allocating mappings used as stack.

aa21761... by Andrei Alexeyev <email address hidden>

actually add the boost_fcontext backend

0b2aecc... by Andrei Alexeyev <email address hidden>

add boost_fcontext backend

Same as fcontext, but links to the Boost.Context library for the
fcontext asm routines. Requires a C++ compiler.

29da5be... by Andrei Alexeyev <email address hidden>

emscripten: use emscripten_fiber_init()

That function lives in native code now

302347c... by Andrei Alexeyev <email address hidden>

build: fix meson warning

3e98246... by Andrei Alexeyev <email address hidden>

emscripten: only pass -s ASYNCIFY at the linking stage

Avoids -Wunused-command-line-argument

53e541a... by Andrei Alexeyev <email address hidden>

Rebuild doxygen

4fe307e... by Andrei Alexeyev <email address hidden>

api: define new KOISHI_IDLE state

This is the state of coroutines that have resumed another coroutine and
are waiting for it to yield. Idle coroutines can not be resumed; they
must yield in order to become Suspended (and thus resumable) again.

Previously such coroutines were considered suspended, and could be
resumed, but this was never supported. Doing so would mess up the
call-chain and possibly lead to assertion failures. This is explicitly
prohibited now, and attempting to resume an idle coroutine will trip an
early assertion in koishi_resume.

7be24a9... by Andrei Alexeyev <email address hidden>

stack_alloc: use the KOISHI_SC_PAGE_SIZE macro

63e239a... by Andrei Alexeyev <email address hidden>

stack_alloc: prefer Win32 API when available

This fixes problems with some windows/mingw setups where functions such
as getpagesize() are available at link time, but are not defined in the
correct header for some reason. This change does not affect other
platforms.