[Info-vax] hung program location
Hein RMS van den Heuvel
heinvandenheuvel at gmail.com
Wed Feb 20 15:19:43 EST 2013
On Wednesday, February 20, 2013 1:43:10 PM UTC-5, Bob Koehler wrote:
> >
>
> > There are no direct $hiber or $wait calls, but I use lib$wait to cause
>
> > brief pauses.
>
>
>
> LIB$WAIT is a cover for $WAIT, so check the times that are passed
> and the passing mechanism. An address could look like a large time.
NO it is not. It is a full albeit short/simpe library with argument evaluation and a bunch of processing of the (floating point) delay value into a delta_time.
Here is the whole core code, white-space edited slightly for brevity
IF .NON_INTRPT [ Hein: Flags argument]
THEN
BEGIN
IOSB = 0;
RET_STATUS = $SETIMR (EFN = EFN$C_ENF, DAYTIM = DELTA_TIME,
ASTADR = AST_IOSB, REQIDT = IOSB);
IF NOT .RET_STATUS THEN RETURN .RET_STATUS;
RETURN ($SYNCH(EFN = EFN$C_ENF, IOSB = IOSB));
END
ELSE
BEGIN
RET_STATUS = $SCHDWK (DAYTIM = DELTA_TIME);
IF NOT .RET_STATUS THEN RETURN .RET_STATUS;
RETURN ($HIBER);
END;
Regards,
Hein
More information about the Info-vax
mailing list