Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

waitpid usage in perlipc pod #1202

Closed
p5pRT opened this issue Feb 20, 2000 · 1 comment
Closed

waitpid usage in perlipc pod #1202

p5pRT opened this issue Feb 20, 2000 · 1 comment

Comments

@p5pRT
Copy link

p5pRT commented Feb 20, 2000

Migrated from rt.perl.org#2173 (status was 'resolved')

Searchable as RT2173$

@p5pRT
Copy link
Author

p5pRT commented Feb 20, 2000

From ben@snrc.uow.edu.au

Created by ben@snrc.uow.edu.au

This is a bug report for perl from ben@​snrc.uow.edu.au,
generated with the help of perlbug 1.26 running under perl 5.00502.

-----------------------------------------------------------------
I've asked on c.l.p.moderated whether this issue is known and/or
corrected in the latest perls, and had one response each way. I have
confirmed it on 5.004_04 and 5.005_02, one person also said 5.005_63
(is that a valid version, maybe they meant _03?). Anyhow​:

The perlipc documentation gives an example usage for waitpid as​:
 
  use POSIX "​:sys_wait_h";
  sub REAPER {
  my $child;
  while ($child = waitpid(-1,WNOHANG)) {
  $Kid_Status{$child} = $?;
  }
  $SIG{CHLD} = \&REAPER; # still loathe sysV
  }
  $SIG{CHLD} = \&REAPER;
  # do something that forks...
 
But the docs for waitpid show it returning -1 if/when no children are
waiting to be harvested. Thus, the above loop never exits. Should it not
be​:
 
  while (($child = waitpid(-1,WNOHANG)) > 0) {
  $Kid_Status{$child} = $?;
 

Perl Info


Site configuration information for perl 5.00502:

Summary of my perl5 (5.0 patchlevel 5 subversion 2) configuration:
  Platform:
    osname=solaris, osvers=2.7, archname=sun4-solaris
    uname='sunos 5.7 s998_18 sun4u sparc sunw,ultra-1 '
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='gcc', optimize='-O', gccversion=2.8.1
    cppflags='-I/usr/local/include'
    ccflags ='-I/usr/local/include'
    stdchar='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', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -lgdbm -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'

Locally applied patches:
    


@INC for perl 5.00502:
    /home/ben/local/lib/perl5
    /home/ben/local/lib/perl5/5.00502
    /home/ben/local/lib/perl5/site_perl/5.005/sun4-solaris
    /home/ben/local/lib/perl5/site_perl/5.005
    /usr/local/lib/perl5/5.00502/sun4-solaris
    /usr/local/lib/perl5/5.00502
    /usr/local/lib/perl5/site_perl/5.005/sun4-solaris
    /usr/local/lib/perl5/site_perl/5.005
    .


Environment for perl 5.00502:
    HOME=/home/ben
    LANG (unset)
    LC_ALL=en_CA
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=.:/home/ben/bin::/home/ben/local/SunOS-5.7-sun4u/bin:/bin:/usr/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/usr/ucb/:/usr/ccs/bin:/share/bin:/usr/openwin/bin:/usr/openwin/demo
    PERL5LIB=/home/ben/local/lib/perl5:/home/ben/local/lib/perl5/5.00502:/home/ben/local/lib/perl5/site_perl/5.005
    PERL_BADLANG (unset)
    SHELL=/bin/sh


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant