Peter and Craig, Thanks for the pointers.
Working my way through, I decided to try VMS_Process, and found similar issues. I have attached the gnu unified diff file (you probably already have these changes, or perhaps there's more to it than I guessed). VMS 8.3 Perl 5.8.8 on Alpha Aside: I found that unless I used the very latest version of MMK from the process fileserv, I could not get perl 5.10.0 to build (MMK V4.0, March 2008). MMS version 3.8 eco02 had problems as well. I know Peter asked about this a few months back. Carl Friedberg [EMAIL PROTECTED] www.comets.com > -----Original Message----- > From: Peter Prymmer [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 14, 2008 8:46 AM > To: [EMAIL PROTECTED] > Cc: Carl Friedberg; 'vmsperl@perl.org' > Subject: Re: any glue to sys$getrmi > > [EMAIL PROTECTED] wrote on 08/13/2008 10:50:04 PM: > > > > I would think VMS::Monitor would do the trick: > > > > http://search.cpan.org/~dsugal/VMS-Monitor-0_06/monitor/monitor.pm > > > > It uses the EXE$GETSPI interface, which was the undocumented > > predecessor to SYS$GETRMI. It should be a fairly > mechanical operation > > to convert the $GETSPI calls to $GETRMI if that's needed for some > > reason, but whether the item codes are all still the same, > whether all > > item codes of interest are included, whether it works as is on OVMS > > v8.3 and Itanium -- those are all unknowns here. It might well run > > out of the box with no modifications, or it might need some > TLC to get > > modern, but I can't think of any reason to reinvent the > wheel or start > > from scratch. > > > > I'm believe, as with all of Dan's modules, I'm > "co-maintainer" of this > > module, which means I can apply patches to the CPAN version if you > > send them in. > > In order to compile with more recent versions of perl we found > we had to update some of the xs macro variables used in > the Monitor.xs file. > > Here is a gnu unified diff of the local changes we had to make > (taken on VMS hence the lowercase file name): > > --- [.vms-monitor-0_06_orig]monitor.xs Thu Aug 14 08:40:12 2008 > +++ [.vms-monitor-0_06]monitor.xs Thu Aug 14 08:39:35 2008 > @@ -595,7 +595,7 @@ > int EventFlag; > > for (i = 0; MonitorInfoList[i].InfoName; i++) { > - if (strEQ(MonitorInfoList[i].InfoName, SvPV(infoname, na))) { > + if (strEQ(MonitorInfoList[i].InfoName, SvPV(infoname, PL_na))) { > break; > } > } > @@ -603,7 +603,7 @@ > /* Did we find a match? If not, complain and exit */ > if (MonitorInfoList[i].InfoName == NULL) { > warn("Invalid monitor info item"); > - ST(0) = &sv_undef; > + ST(0) = &PL_sv_undef; > } else { > /* allocate our item list */ > ITMLST OneItem[2]; > @@ -938,12 +938,12 @@ > free(ReturnStringBuffer); > break; > default: > - ST(0) = &sv_undef; > + ST(0) = &PL_sv_undef; > break; > } > } else { > SETERRNO(EVMSERR, status); > - ST(0) = &sv_undef; > + ST(0) = &PL_sv_undef; > /* free up the buffer if we were looking for a string */ > if (MonitorInfoList[i].ReturnType == IS_STRING) > free(ReturnStringBuffer); > End of Patch. > > I hope that helps. > > Peter Prymmer > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.138 / Virus Database: 270.6.2/1609 - Release > Date: 8/13/2008 6:43 AM >
PROCESS_XS.DIFF
Description: PROCESS_XS.DIFF