← Back to team overview

kicad-developers team mailing list archive

Re: KiCad Coroutines

 

Torsten,

I've been thinking about your proposed changes and I'm not sure I'm
comfortable making KiCad multi-threaded using a library such as pthreads
or any other threading implementation.  Context switching (cooperative
multi-tasking) is bad enough but at least everything is happening in the
same thread so no locking is required.  Pre-emptive multi-tasking is
much more difficult to deal with.  Access to everything being touched by
multiple threads has to be protected with locks which can make for some
ugly code and debugging threaded applications can be difficult.  What
about using a state machine or some clever way to use events?

Wayne

On 1/6/2016 10:48 AM, Tomasz Wlostowski wrote:
> On 04.01.2016 15:07, Mark Roszko wrote:
>>> My offer would be to test an alternative implementation, to drop another Boost dependency and build upon a standard library foundation.
>>> pthreads is not standard library <.<
>>
> 
> Hi Mark & Torsten,
> 
> Feel free to test any implementation you like (personally I would try
> with setjmp() first). I don't have much time to work on this issue (I'm
> busy these days adding a reasonably fast wxDC support to the GAL canvas...).
> 
> Cheers,
> Tom
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


Follow ups

References