← Back to team overview

kicad-developers team mailing list archive

Re: KiCad Coroutines

 

Le 04/01/2016 10:59, "Torsten Hüter" a écrit :
> Mark,
> You're right Pthreads should eventually work on Windows/MinGW too.
> I don't know if their policy has changed, but the official documentation lists 
> still MASM as requirement for Windows. I did no further research about the reasons.
> Please read the (old) statement of our project leader here:
> http://mingw-users.1079350.n2.nabble.com/Boost-Context-MinGW-EXPORT-keyword-td7582532.html
> Quote from Wayne:
> "[..] Good luck!  The KiCad project had the same issue.  We even submitted our
> patch but they refused it.  The answer was always the same.  Use MASM
> with no reasonable explanation as to why the gnu assembler was
> unacceptable.
> [..]
> I'm beginning to regret using Boost in KiCad.
> [..]"
> I don't know if this opinion is still valid.

Torsten,

Here is my opinion:

Building Boost libraries on Windows/MinGW is really a pain, due to the
fact it is not officially supported.
The last info I read about Boost mingw support is:
"it works or perhaps it does not work",
and experience show me each version of boost needed different
workarounds to build them.

When we used the boost headers only, we did not have any issue (just
sometimes bugs, like in any tool)
The nightmare started when using boost libraries.
The msys2 guys made a great work when supporting boost libraries. Thanks
to them.
But this is very annoying to be fully dependent of them.

AFAIK, boost libraries are mainly used in Avhttp and coroutines.
Bye Avhttp (thanks, Mark).
boost::coroutine still use them, and it was always a nightmare, since
the beginning.

So, if an alternative implementation to boost::context exists, I will be
*very* happy.

(Note: *very happy* is an understatement)

> --
> My offer would be to test an alternative implementation, to drop another Boost 
> dependency and build upon a standard library foundation.
> Thanks,
> Torsten
> *Gesendet:* Montag, 04. Januar 2016 um 06:07 Uhr
> *Von:* "Mark Roszko" <mark.roszko@xxxxxxxxx>
> *An:* "Torsten Hüter" <torstenhtr@xxxxxx>
> *Cc:* "KiCad Mailinglist" <kicad-developers@xxxxxxxxxxxxxxxxxxx>
> *Betreff:* Re: [Kicad-developers] KiCad Coroutines
>  >Summary: Fibers (Windows) and Pthreads (all POSIX-compliant operating systems) 
> seem to be the most promising alternatives for context switching
> 
> Since msys2 uses mingw, it used to have a pthreads implementation when
> I used it years ago. Not sure if the latest has a package for it.


-- 
Jean-Pierre CHARRAS


Follow ups

References