[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