kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #22581
Re: Fwd: [PATCH] github_plugin -> curl -> openssl thread safety
I can test this on OS X this week.
(I am excited for Jon's git plugin roadmap. If Github works well for other
people, awesome, but I am not a fan of depending on proprietary software,
and based on the chatter on the email list and Dick's suggestion that users
install and configure a webserver/caching proxy/modify /etc/hosts suggests
to me we have room for improvement.)
Adam Wolf
Cofounder and Engineer
W&L
On Wed, Jan 13, 2016 at 11:01 AM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
wrote:
> Would someone please test this patch on osx and on a linux distro that
> uses a libcurl variant built against ntls or gnutls. I will test it on
> windows. Please read the comments below carefully and do not reply to
> Dick directly.
>
> -------- Forwarded Message --------
> Subject: [PATCH] github_plugin -> curl -> openssl thread safety
> Date: Wed, 13 Jan 2016 00:07:35 -0600
> From: Dick Hollenbeck <dick@xxxxxxxxxxx>
> To: Wayne Stambaugh <stambaughw@xxxxxxxxxxx>, jp.charras@xxxxxxxxxx
> <jp.charras@xxxxxxxxxx>
>
> Guys, this brings in the necessary locks required to make openssl thread
> safe. I think it completes the migration to libcurl. As I reported to
> Wayne, even on linux I was seeing evidence of unprotected critical
> sections of code. Going down to 6 threads merely swept the problem
> under a rug but did not fix the fundamental problem. This does.
> Six threads still seems about the optimal mix of chaos and throughput.
>
> You may want to bring back the FindOpenSSL.cmake script which this must
> use, but I got by with CMake's default. Please just do that as a
> separate patch since I am not responsible for it. You could also do any
> Windows specific fixups as a separate patch also, as it does not
> attribute stuff to me that I did not do, and vice versa.
>
> HTH in fulfilling your vision for the github plugin. The locking does
> not affect the speed by much, and multiple threads are still a
> tremendous speed boost. I still would never use the plugin without
> nginx, and I think that should be made more clear to those who wine
> about speed. There is an awful lot of whining, and none of these people
> even seem to know about nginx. nginx + github plugin is even faster
> than the PCB_IO plugin.
>
> I think I am loading about 80 libraries in 2 seconds. Only two of those
> are PCB_IO, the rest are github.
>
> PLEASE MAKE THIS KNOWN!
>
>
> *) Switch to static linking of libcurl and on linux and windows and also
> statically link in only required portions of openssl.
> *) Add the required thread locks which openssl needs.
> *) Remove the get curl version call from BASEFRAME since it pulls in
> curl and openssl
> into every derived wxFrame class link image.
> *) Remove curl function from PGM_BASE, switch to atexit() instead.
> Anything in PGM_BASE made the singletops bigger.
> *) Tested on Linux only.
>
>
> _______________________________________________
> 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