X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-3.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Eric Blake Subject: Re: Question of the necessity of rebaseall Date: Thu, 14 May 2009 23:23:08 +0000 (UTC) Lines: 27 Message-ID: References: <4A0B6BE4 DOT 1020905 AT cygwin DOT com> <4A0B751A DOT 30007 AT cygwin DOT com> <4A0B7CB2 DOT 5050203 AT byu DOT net> <17393e3e0905141420w19b8ef8fr4f58a0f5c7f49ee7 AT mail DOT gmail DOT com> <20090514230106 DOT GA27859 AT ednor DOT casa DOT cgf DOT cx> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes 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 Christopher Faylor cygwin.com> writes: We can't say it enough: > >>Read the source. > >Is this a place where using vfork() instead of fork() helps (where it's > >applicable, of course)? If so, we might be able to reduce the number > >of rebase failures in the future just by trying to push other projects > >to use vfork wherever it's substitutable for fork... > > In Cygwin vfork == fork. But, if you really wanted to be nice, instead of forcing us to respond to your uneducated guesses, you could implement posix_spawn, and push for more upstream projects (particularly bash) to use it. That is at least one case where people have already implemented posix_spawn on top of fork (and in fact, gnulib has already done so, and m4 uses the gnulib implementation), but where you can also implement it more efficiently on top of native windows semantics if you do it right. And maybe, in the process of seeing how many loose ends there are to get it to have posix_spawn work correctly, you will start to understand why we haven't already implemented it, and why cygwin does fork/vfork the way it does. -- Eric Blake -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/