X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <4AD9E829.8020404@gmail.com> Date: Sat, 17 Oct 2009 16:52:09 +0100 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: GNU pth + cygwin + fork [Was: Re: fork failure?] References: <4AD732C7 DOT 4020301 AT cwilson DOT fastmail DOT fm> <4AD73B83 DOT 9060505 AT gmail DOT com> <4AD74586 DOT 8070803 AT cwilson DOT fastmail DOT fm> <4AD752C8 DOT 2040908 AT gmail DOT com> <4AD7B135 DOT 6020401 AT cwilson DOT fastmail DOT fm> <4AD8220D DOT 8000908 AT cwilson DOT fastmail DOT fm> <4AD8AD47 DOT 6010605 AT cwilson DOT fastmail DOT fm> <4AD8B90B DOT 4040507 AT gmail DOT com> <4AD8CD8A DOT 7010708 AT cwilson DOT fastmail DOT fm> <4AD8D490 DOT 2040000 AT gmail DOT com> <4AD8DAC3 DOT 2080709 AT cwilson DOT fastmail DOT fm> <4AD93CA2 DOT 6020002 AT cwilson DOT fastmail DOT fm> <4AD95908 DOT 9020208 AT gmail DOT com> <4AD96A3B DOT 6010901 AT cwilson DOT fastmail DOT fm> <4AD992A9 DOT 1030708 AT cwilson DOT fastmail DOT fm> <4AD999B3 DOT 3030907 AT cwilson DOT fastmail DOT fm> In-Reply-To: <4AD999B3.3030907@cwilson.fastmail.fm> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Charles Wilson wrote: > In the short-to-medium term, it looks like converting libassuan and > gnupg to use pthreads instead of pth won't be terribly difficult. Once > once sig[alt]stack is available I can modify cygwin-pth to use the > sig[alt]stack "Machine Context Implementation" instead of the current > "sjlj/sjljw32/none" one, and then restore libassuan and gnupg to the pth > status quo ante. My first thought would be to figure out what pth is attempting to do while messing in jmp_buf, and make it work. It's bad, unmaintainable code, that will break again in the future if ever jmp_buf is rearranged - but it only has to stagger along for another couple of months until you can do it right using sigaltstack. Until then, slapping a band-aid on pth might be a lot less work-that-soon-has-to-be-thrown-away than hacking both libassuan and gpg to handle a different API. (I say this without having yet done the research to figure out exactly what pth thinks it is doing to that jmp_buf and whether it's necessarily possible, but it ought to be.) Anyway, it's your effort so it's your call but I suggest this strategy because you didn't explicitly mention having considered it in your deliberations above. cheers, DaveK -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple