develooper Front page | perl.perl5.porters | Postings from May 2010

[perl #75080] exec & Posix::_exit not well ported to Windows

From:
Daniel Pfeiffer
Date:
May 14, 2010 03:37
Subject:
[perl #75080] exec & Posix::_exit not well ported to Windows
Message ID:
rt-3.6.HEAD-4976-1273748529-1717.75080-75-0@perl.org
# New Ticket Created by  Daniel Pfeiffer 
# Please include the string:  [perl #75080]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=75080 >


Hi!

The build tool makepp does a lot of fork/exec or (an extension to make) 
fork/perl-code/_exit.  We use _exit because we have a lot of data and 
short-circuiting destruction saves noticeable time.

Meanwhile under MinGW and Cygwin this works as expected — the libc 
emulates this well.  But under Strawberry or ActiveState both exec and 
_exit terminate all "processes" together.  OTOH plain exit unwinds all 
of the call stack and complains about freeing something twice — might be 
our bug since it was never intended to happen, though I don't see how 
plain perl can cause that.

For many years we have lived with not having -j parallel builds.  But 
multi-core is becoming more common under Windows, making this problem a 
show stopper for efficient builds.

Since the libc seems to cope just fine, wouldn't it be an option to 
use/copy their fork/exec/exit/_exit?

coralament / best Grötens / liebe Grüße / best regards / elkorajn salutojn
Daniel Pfeiffer

-- 
lerne / learn / apprends / lär dig / ucz się    Esperanto:
                     http://lernu.net   /http://ikurso.net




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About