Front page | perl.vmsperl |
Postings from June 2002
Re: [PATCH: RC2] add getppid() to vmsperl
Thread Previous
|
Thread Next
From:
PPrymmer
Date:
June 24, 2002 09:38
Subject:
Re: [PATCH: RC2] add getppid() to vmsperl
Message ID:
OF40EFF436.8BC71AF2-ON85256BE2.0059A43D@55.25.11
Craig Berry wrote:
!I just looked at a VAX C manual from ca. 1987 and it was present then. In
!the version dependency tables in Appendix B of the Compaq C RTL Reference,
!it is claimed to be present for all VAX and Alpha versions of VMS. So
it's
!a bit funny that we never had it and I see not reason not to support it.
!I'll take your patch for a spin since extra testing at this late stage
seems
!like a good idea. We probably also need to tweak the list of supported
!functions in README.vms.
Thanks for digging through the history.
Interestingly, before editing I had run:
$ search readme.vms getppid
%SEARCH-I-NOMATCHES, no strings matched
But now that you mention it I think what needs editing is
[.vms]perlvms.pod.
So - would this be OK? Should we incorporate any part of the SET NOON fix
that Martin just requested for configure.com (it seems important)?
diff -ru perl-5_8_0-RC2_orig/configure.com perl-5_8_0-RC2/configure.com
--- perl-5_8_0-RC2_orig/configure.com Sun Jun 23 20:19:11 2002
+++ perl-5_8_0-RC2/configure.com Sun Jun 23 20:20:02 2002
@@ -3374,6 +3374,25 @@
$ GOSUB inhdr
$ i_unistd = tmp
$!
+$! do we have getppid()?
+$!
+$ IF i_unistd .EQS. "define"
+$ THEN
+$ OS
+$ WS "#include <stdio.h>"
+$ WS "#include <unistd.h>"
+$ WS "int main() {"
+$ WS "printf(""%d\n"",getppid());"
+$ WS "return(0);"
+$ WS "}"
+$ CS
+$ tmp = "getppid"
+$ GOSUB inlibc
+$ d_getppid = tmp
+$ ELSE
+$ d_getppid = "undef"
+$ ENDIF
+$!
$!: see if this is a libutil.h system
$!
$ tmp = "libutil.h"
@@ -5253,7 +5272,7 @@
$ WC "d_getpgid='undef'"
$ WC "d_getpgrp2='undef'"
$ WC "d_getpgrp='undef'"
-$ WC "d_getppid='undef'"
+$ WC "d_getppid='" + d_getppid + "'"
$ WC "d_getprior='undef'"
$ WC "d_getprotoprotos='" + d_getprotoprotos + "'"
$ WC "d_getprpwnam='undef'"
diff -ru perl-5_8_0-RC2_orig/pod/perlport.pod
perl-5_8_0-RC2/pod/perlport.pod
--- perl-5_8_0-RC2_orig/pod/perlport.pod Sun Jun 23 20:19:38 2002
+++ perl-5_8_0-RC2/pod/perlport.pod Sun Jun 23 20:20:20 2002
@@ -1584,7 +1584,10 @@
=item getppid
-Not implemented. (S<Mac OS>, Win32, VMS, S<RISC OS>)
+Not implemented. (S<Mac OS>, Win32, older versions of VMS, S<RISC OS>)
+
+Returns 0 to indicate that the calling process does not have
+a parent process. (Recent versions of VMS)
=item getpriority WHICH,WHO
@@ -1794,7 +1797,7 @@
=item setgrent
-Not implemented. (S<Mac OS>, MPE/iX, VMS, Win32, VMS, S<RISC OS>)
+Not implemented. (S<Mac OS>, MPE/iX, VMS, Win32, S<RISC OS>)
=item setpgrp PID,PGRP
diff -ru perl-5_8_0-RC2_orig/vms/perlvms.pod perl-5_8_0-RC2/vms/perlvms.pod
--- perl-5_8_0-RC2_orig/vms/perlvms.pod Mon Jun 24 12:28:06 2002
+++ perl-5_8_0-RC2/vms/perlvms.pod Mon Jun 24 12:28:21 2002
@@ -359,11 +359,16 @@
undefined behavior (rarely, we hope):
chroot, dbmclose, dbmopen, flock,
- getpgrp, getppid, getpriority, getgrent, getgrgid,
+ getpgrp, getpriority, getgrent, getgrgid,
getgrnam, setgrent, endgrent, ioctl, link, lstat,
msgctl, msgget, msgsend, msgrcv, readlink, semctl,
semget, semop, setpgrp, setpriority, shmctl, shmget,
shmread, shmwrite, socketpair, symlink, syscall
+
+If Perl is built on a C run time that does not support getppid
+(most do) then calling the following will produce a fatal error:
+
+ getppid
The following functions are available on Perls compiled with Dec C
5.2 or greater and running VMS 7.0 or greater:
End of Revised Patch.
Peter Prymmer
Thread Previous
|
Thread Next