From: Mats.Weber@elca-matrix.ch (Mats Weber)
Subject: Re: DECAda/VMS - calling GETJPI
Date: 1996/06/03
Date: 1996-06-03T00:00:00+00:00 [thread overview]
Message-ID: <Mats.Weber-0306961512540001@mlma27.elca-matrix.ch> (raw)
In-Reply-To: 31B2AF74.668E@dial.eunet.ch
In article <31B2AF74.668E@dial.eunet.ch>, Alan Paterson
<paterson@dial.eunet.ch> wrote:
>Here's one for the VMS gurus (I can't post it to comp.os.vms,
>'cos there's a psychopath there who throws abuse at me):
>
>I want to examine all processes currently active. The system
>service to do this is, of course, GetJPI (either in Starlet or
>Lib). To perform wildcard process search, this procedure
>expects to receive a value of -1 for the process_id parameter.
>Unfortunately, in the "official" spec-files for these
>procedures, this parameter has the type UNSIGNED_LONGWORD. Ada,
>quite correctly, objects to this kind of thing :-)
The best way of doing this is by calling process_scan (in Starlet or lib).
I have once written a program that does all this and displays all kinds of
process info (much better than show system). If you want it, send me
e-mail and I'll give you the source.
>So, what I now do is the following:
>
> PID : UNSIGNED_LONGWORD;
> PID0 : INTEGER;
> for PID0 use at PID'address;
This is erroneous in Ada 83, and at least dangerous without a pragma
Volatile or something. You should prefer Unchecked_Conversion, which will
work when Standard.Integer becomes 64 bits.
>begin
> PID0 := -1;
> loop
> GetJPI(..., Process_Id => PID, ...);
>
>This works, but I can't help but wonder if there isn't a more
>elegant way to do it. Does anyone have experience with this?
Yes, there is:
PID : UNSIGNED_LONGWORD := -1;
begin
PID := -1;
loop
GetJPI(..., Process_Id => PID, ...);
works because System.UNSIGNED_LONGWORD is -2**31 .. 2**31 - 1.
next prev parent reply other threads:[~1996-06-03 0:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-06-03 0:00 DECAda/VMS - calling GETJPI Alan Paterson
1996-06-03 0:00 ` Ken Garlington
1996-06-03 0:00 ` Stuart Palin
1996-06-03 0:00 ` Michael F Brenner
1996-06-03 0:00 ` Robert Dewar
1996-06-04 0:00 ` Ken Garlington
1996-06-06 0:00 ` Robert Dewar
1996-06-04 0:00 ` Michael F Brenner
1996-06-04 0:00 ` Robert Dewar
1996-06-04 0:00 ` Michael F Brenner
1996-06-04 0:00 ` Robert Dewar
1996-06-04 0:00 ` Robert Dewar
1996-06-05 0:00 ` Wraparound on modular conversion (was: DECAda/VMS - calling GETJPI) Tucker Taft
1996-06-05 0:00 ` Robert Dewar
1996-06-05 0:00 ` DECAda/VMS - calling GETJPI Fergus Henderson
1996-06-05 0:00 ` Robert A Duff
1996-06-05 0:00 ` Robert A Duff
1996-06-05 0:00 ` Robert Dewar
1996-06-05 0:00 ` Adam Beneschan
1996-06-07 0:00 ` Norman H. Cohen
1996-06-11 0:00 ` Adam Beneschan
1996-06-03 0:00 ` Mats Weber [this message]
-- strict thread matches above, loose matches on Subject: below --
1996-06-06 0:00 George Haddad
1996-06-07 0:00 ` Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox