develooper Front page | perl.perl5.porters | Postings from March 2000

[ID 20000330.037] system() fails to return exit status when$SIG{'CHLD'} == 'IGNORE'

From:
Geoffrey Coffey x31949
Date:
March 30, 2000 10:35
Subject:
[ID 20000330.037] system() fails to return exit status when$SIG{'CHLD'} == 'IGNORE'
Message ID:
200003301834.LAA06640@admin-srv95.micron.com
This is a bug report for perl from gwcoffey@micron.com,
generated with the help of perlbug 1.26 running under perl 5.00503.


-----------------------------------------------------------------
This may not be a bug, but it seems inconsistent:

When $SIG{'CHLD'} is set to 'IGNORE', system() will return -1
always. This seems erroneous and is not consistent with the
behavior of system() in c, which returns a correct exit status
even when SIGCHLD is being ignored.

I found some mention of related problems on the perl porters
list archives, but saw no final solution. It seems logical to me
that system() should set and unset SIGCHLD so it functions
properly regardless. Perhaps this is problematic?

Thanks,

Geoff


[Please do not change anything below this line]
-----------------------------------------------------------------

---
Site configuration information for perl 5.00503:

Configured by tscheres at Wed Sep 22 20:46:02 MDT 1999.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=solaris, osvers=2.6, archname=sun4-solaris
    uname='sunos ckipp-boi 5.6 generic_105181-11 sun4u sparc sunw,ultra-2 '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='gcc -B/usr/ccs/bin/', optimize='-O -g', gccversion=2.95.1 19990816 (release)
    cppflags='-DDEBUGGING -I/usr/local/include -I/opt/gnu/include'
    ccflags ='-DDEBUGGING -I/usr/local/include -I/opt/gnu/include'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib -L/opt/gnu/lib'
    libpth=/usr/local/lib /opt/gnu/lib /lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldb -ldl -lm -lc -lcrypt
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -L/opt/gnu/lib'

Locally applied patches:
    

---
@INC for perl 5.00503:
    /usr/local/micron/perl/prod/lib
    /usr/local/micron/perl/prod/lib/5.00503/sun4-solaris
    /usr/local/micron/perl/prod/lib/5.00503
    /usr/local/micron/perl/prod/lib/site_perl/5.005/sun4-solaris
    /usr/local/micron/perl/prod/lib/site_perl/5.005
    .

---
Environment for perl 5.00503:
    HOME=/home/gwcoffey
    LANG=C
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/home/gwcoffey/lib:/opt/sybase/lib:/usr/local/micron/lib:/opt/SUNWspro/lib:/usr/lib:/usr/ucblib:/usr/openwin/lib:/usr/dt/lib:/usr/local/lib:/usr/local/lib/x11:/usr/local/micron/lib/smartsocket/lib/sun4_solaris
    LOGDIR (unset)
    PATH=.:~/bin:/usr/local/micron/perl/prod/bin:/opt/SUNWspro/bin:/usr/bin:/usr/sbin:/sbin:/usr/ucb:/etc:/usr/openwin/bin:/usr/dt/bin:/usr/local/bin:/usr/local/bin/X11:/usr/pvcs:/home/gwcoffey/bin:/usr/local/micron/bin:/usr/ccs/bin
    PERLLIB=/usr/local/micron/perl/prod/lib
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/tcsh



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