delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/10/24/22:15:43

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
From: cgf AT cygnus DOT com (Chris Faylor)
Newsgroups: cygnus.gnu-win32
Subject: Re: Wierd perl problem..
Date: 25 Oct 1999 02:13:30 GMT
Organization: Cygnus Solutions
Lines: 53
Message-ID: <7v0eca$s0o$1@cronkite.cygnus.com>
References: <199910212318 DOT RAA03227 AT benson> <19991021214818 DOT B6885 AT cygnus DOT com>
Reply-To: cygwin AT sourceware DOT cygnus DOT com
NNTP-Posting-Host: rtl.cygnus.com
X-Newsreader: trn 4.0-test70 (17 January 1999)
To: cygwin AT sourceware DOT cygnus DOT com
DJ-Gateway: from newsgroup cygnus.gnu-win32

Ok.  I've just checked in changes that work around the problem "for me".
They should be in the next snapshot.

The problem was that a DLL in a forked child was not being loaded in
exactly the same location as it was in the parent.  So, when the parent
tried to copy its memory to the child -- boom!

I kludged around this by allocating memory up to the point where the
DLL should be loaded.  This is remarkably fragile and stupid but it
seems to work.

The DLL code looks like it is due for a rewrite.  Maybe we'll have time
to do that someday.

So, if you're adventurous, try out the latest snapshot and see if dynamic
loading in perl just miraculously "works" now.

-chris

In article <19991021214818 DOT B6885 AT cygnus DOT com>,
Chris Faylor  <cygwin AT sourceware DOT cygnus DOT com> wrote:
>I'm sorry.  There is a problem with using dll's after a fork with perl.
>That's what you're seeing.
>
>There is no workaround.  I hope to fix this in the next couple of months.
>
>On Thu, Oct 21, 1999 at 05:18:29PM -0600, Steve Jorgensen wrote:
>>I'm having a really strange perl problem under cygwin 1.0
>>
>>One perl script produces the following output:
>>
>>0 0 [main] d:\Cygwin\contrib\bin\perl.exe 1114 fork_copy: loaded dll data/bss pass 0 failed, 0x14043000..0x1404300C, done 0, Win32 erro
r 487
>>
>>and then hangs that shell window half the time.
>>
>>This happens when the perl script is executing the following line of
>>code:
>>
>>chop($LOCALHOST = `hostname`);
>>
>>hostname is in the path, and works fine.
>>
>>This only seems to happen if the script has a use FileHandle; line
>>after the initialization stuff I describe above, another script with
>>the exact same initialization section as the one described above works
>>fine.
>>
>>Is there something I need to do to get the FileHandle stuff working
>>under cygwin, or am I just out of luck?
-- 
cgf AT cygnus DOT com
http://www.cygnus.com/

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019