In fact coroutines are implemented in a very similar way as sleep().


regards,
- Lu

On Thu, Oct 9, 2014 at 8:32 PM, Woof <[email protected]> wrote:

> Thanks - I was looking for alternatives to sleep, since I'm blocked on
> this:
>
>     https://github.com/kripken/emscripten/issues/2663
>
>
> On Thursday, 9 October 2014 14:28:26 UTC+2, 王璐 wrote:
>>
>> Not exactly.
>> The coroutine created by emscripten API must be "stepped" using
>> emscipten_coroutine_next (cannot remember the exact name), so probably one
>> possible way is to write like this:
>>
>> int main_loop_coroutine(...) {
>>    ...
>>    emscripten_yield();
>> }
>>
>> int main() {
>>   auto co = emscripten_coroutine_create(...)
>>   while(emscripten_coroutine_next(co) {
>>      emscripten_sleep(1);
>>   }
>>   return 0;
>> }
>>
>> But an easier way is to write "while(1) { do_something(); sleep(1); }"
>> instead of coroutines.
>>
>>
>> regards,
>> - Lu
>>
>> On Thursday, October 9, 2014 6:00:50 PM UTC+8, Woof wrote:
>>>
>>> I see that coroutine support has been added in the new 1.25.0 release
>>> but I can't find any examples or documentation. If I implement my main loop
>>> as a coroutine, will calling emscripten_yield() allow the browser to
>>> service events?
>>>
>>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "emscripten-discuss" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/emscripten-discuss/pI0xEuO68fo/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to