X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; q=dns; s=default; b=Pd AYk0pwisADBbmVw93Xxt8h0TOpPZpbY2JaSh408cvoD2bj63YrfCCaUlkvz4f7fv vaKnQBJNgGtZqtwgsHiJRrCuNJ5cTVKzwXYavBfx5EO2DJ/V7v4yDwuCsTzeXYco gaXbu9aA9q8zk2hzLqtWq0dM+5C9ndkj14Ts8AnFk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; s=default; bh=rZzwE7IN oDQJIuU3Fb/KRlkvSvE=; b=Cww4X+om1FBxR9X0E5i9w0xVuHZ5PWsSYBTly+nD rz/jCaQopWWN9VfFflOYbT5TIRyfsuXYViDbtqvDZgaoqbrVL9hCGLQYVj5tlevF FpmWPZj2xvzGTKr6SGG8riOCG2XAFnNvHA76MouSHh6qt+O33ep0owkvTUEPfoK5 Re8= 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 X-Spam-SWARE-Status: No, score=2.6 required=5.0 tests=AWL,BAYES_00,CHARSET_FARAWAY_HEADER,FREEMAIL_FROM,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SPF_PASS autolearn=ham version=3.3.1 MIME-Version: 1.0 X-Received: by 10.194.86.106 with SMTP id o10mr951857wjz.93.1371624815050; Tue, 18 Jun 2013 23:53:35 -0700 (PDT) In-Reply-To: <20130619020234.GA3669@ednor.casa.cgf.cx> References: <51C0B08E DOT 8080900 AT etr-usa DOT com> <51C0D956 DOT 4090905 AT etr-usa DOT com> <20130619020234 DOT GA3669 AT ednor DOT casa DOT cgf DOT cx> Date: Wed, 19 Jun 2013 10:53:34 +0400 Message-ID: Subject: Re: Adding MSYS functionality to Cygwin From: =?KOI8-R?B?4czFy9PFyiDwwdfMz9c=?= To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 2013/6/19 Christopher Faylor wrote: > On Tue, Jun 18, 2013 at 04:04:06PM -0600, Warren Young wrote: >>On 6/18/2013 13:30, ??????? ?????? wrote: >>> 2013/6/18 Warren Young : >>>> On 6/18/2013 12:40, ??????? ?????? wrote: >>>>> >>>>> 1. The correct definition of executables belonging to Cygwin DLL. >>>> >>>> Can you give an example of what you mean here? >>>> >>> All cygwin applications depends on cygwin1.dll. We need to translate >>> arguments only for non-cygwin applications. >> >>It would be possible, though somewhat evil, for Cygwin's exec() >>implementation to peek at the DLL dependency list of a program before >>starting it, and from that infer whether it should automatically >>translate paths. > > Cygwin already does this. It detects whether the program it is about > to run uses the Cygwin DLL and, if not, makes decisions on how to > handle exec. It would be relatively easy to extend this. > Thanks for the point Christopher. Today I investigate in this direction and find that logic works well except one line in spawn.cc that I think can be fixed without break anything. Index: cygwin/spawn.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/spawn.cc,v retrieving revision 1.345 diff -u -p -r1.345 spawn.cc --- cygwin/spawn.cc 3 May 2013 19:39:01 -0000 1.345 +++ cygwin/spawn.cc 19 Jun 2013 05:53:36 -0000 @@ -406,7 +406,7 @@ child_info_spawn::worker (const char *pr } else { - if (wascygexec) + if (real_path.iscygexec ()) newargv.dup_all (); else if (!one_line.fromargv (newargv, real_path.get_win32 (), real_path.iscygexec ())) Regards, Alexey. -- 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