From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.bugs Subject: Re: open-output-pipe problem Date: Wed, 07 Aug 2002 20:20:48 -0700 Sender: bug-guile-admin@gnu.org Message-ID: References: Reply-To: ttn@glug.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1028777360 17889 127.0.0.1 (8 Aug 2002 03:29:20 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 8 Aug 2002 03:29:20 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17cdzC-0004eP-00 for ; Thu, 08 Aug 2002 05:29:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17cdzv-00062J-00; Wed, 07 Aug 2002 23:30:03 -0400 Original-Received: from ca-crlsca-cuda3-c6a-b-211.crlsca.adelphia.net ([68.71.15.211] helo=giblet) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17cdza-00060C-00 for ; Wed, 07 Aug 2002 23:29:42 -0400 Original-Received: from ttn by giblet with local (Exim 3.35 #1 (Debian)) id 17cdqy-0000Ni-00; Wed, 07 Aug 2002 20:20:48 -0700 Original-To: satoru@namazu.org, bug-guile@gnu.org In-Reply-To: (message from Thien-Thi Nguyen on Thu, 01 Aug 2002 13:13:18 -0700) Errors-To: bug-guile-admin@gnu.org X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GUILE, GNU's Ubiquitous Extension Language List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.bugs:423 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.bugs:423 From: Thien-Thi Nguyen Date: Thu, 01 Aug 2002 13:13:18 -0700 will let you know what i find. i found that for the simple test case given, reverting popen.scm to the one provided w/ guile-1.3.4 makes it work. i believe the relevant entry for the 1.3.4 - 1.4.1 change is: 2000-04-10 Gary Houston * popen.scm (open-process): after forking, close all ports except the end of the pipe to the parent. otherwise move->fdes and the exec'd program and the exit handlers can interfere with file descriptors still in use in parent ports. this seems to address a legitimate concern. in HEAD (and presumably 1.6.x although i haven't checked) there is also: 2000-11-06 Gary Houston * popen.scm (open-process): bug fix: don't use close-all-ports-except to close ports in the child process, since it causes port buffers to be flushed. they may be flushed again in the parent, causing duplicate output. use a more elaborate method for setting up the child descriptors (thanks to David Pirotte for the bug report). standard file descriptors 0, 1, 2 in the child process are now set up from current-input-port etc., where possible. so it looks like simply reverting to 1.3.4 popen.scm would not be acceptable; 1.4.x captures a part-way fix that needs to be pushed forward to completion. i have experimented w/ back-porting the new popen.scm (including associated support in libguile) w/o success, so there is more investigation to do to see what else is going on. by the time this is fixed i'll know a lot more about how ports are done in guile, that's for sure... thi _______________________________________________ Bug-guile mailing list Bug-guile@gnu.org http://mail.gnu.org/mailman/listinfo/bug-guile