Commit Graph

12 Commits (master)

Author SHA1 Message Date
Daniel Kolesa 493f31fabf make coroutines immovable (moving invalidates inside pointers)
If you move a coroutine, all references to the coroutine from
inside of it become invalid, including e.g. yielders. Therefore,
make coroutines immovable to prevent weird bugs...

but also, make the guts of coroutine context a bit more move
friendly (like, do not change current status after context switch
and always do it outside), in case a solution is found in the
future.
2018-04-21 22:39:07 +02:00
Daniel Kolesa 0925ff3350 clean up platform checks 2017-05-12 00:05:18 +02:00
Daniel Kolesa 10caf39244 split win32 and posix code of context_stack and process into separate files 2017-05-10 00:30:23 +02:00
Daniel Kolesa 9d4a8cfa83 windows fixes 2017-05-09 21:20:37 +02:00
Daniel Kolesa 94814dc61e remove internal/win32.hh and put environ stuff into a source file 2017-05-02 00:15:01 +02:00
Daniel Kolesa 1525edf3d7 type/include cleanup 2017-04-09 16:44:45 +02:00
Daniel Kolesa 62676f4222 rename octastd to libostd 2017-04-06 20:14:52 +02:00
Daniel Kolesa 2537d955d1 fixes, bigger stack for main task, take spawn funcs by value 2017-03-22 17:32:58 +01:00
Daniel Kolesa 0d815e3610 default 64 KiB stack on all systems 2017-03-20 00:51:16 +01:00
Daniel Kolesa 0da22e777d add a way to retrieve the current coroutine context 2017-03-17 03:04:15 +01:00
Daniel Kolesa 52da0ab7ae windows fixes 2017-03-10 03:05:05 +01:00
Daniel Kolesa 5fafcdf954 move the stack alloc impl bits into a source file 2017-03-09 01:00:47 +01:00