HP3000-L Archives

November 1998, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Michael Anderson <[log in to unmask]>
Reply To:
Michael Anderson <[log in to unmask]>
Date:
Tue, 10 Nov 1998 11:41:46 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (52 lines)
Howdy,

Thanks to all that have responded to my VTSERVER question. After reading them all I am
left with more questions ;-)

Mark Bixby wrote:

< partially deleted, to focus on this point >

> In the case of sh.hpbin.sys, the problem isn't simply having the CTRL-Y trap
> enabled, rather it's enabling then disabling the trap for EVERY LINE OF SHELL
> SCRIPT.  The performance results aren't pretty for monster scripts like
> Perl Configure (~12000 lines).
>

I think this may be the case with FINPAC, but I don't have any trap handling experience,
and very little Fortran. So could someone offer some additional info on the following
scenario:

FINPAC is made up of approx. 180 Fortran routines (1 executable program), the first
executable statement in each subroutine is:

ON CONTROLY CALL CONTROL

1. The Fortran manual doesn't directly say it, but... Does this "ON" statement
arm/re-arm the Control-Y trap?

2. Is this "ON" statement equivalent to calling XCONTRAP?

3. If this "ON" statement was only found in the Main routine (OUTER BLOCK) of the
process, would the trap be enable for all of the other 179 subroutines within this
process?

4. If "YES" to question 1,2, and 3, and a [Control-Y] is entered from the keyboard
during the execution of any subroutine, and control is passed to the CONTROL subroutine,
who then calls the "RESETCONTROL" intrinsic, should the "RESETCONTROL" call be followed
by the "ON CONTROLY CALL CONTROL" statement, to arm the Control-Y trap again?

If yes to all of the above, the fix is simple. I will comment out all of the "ON
CONTROLY" statements, in all routines except the outer block. Then add an "ON CONTROLY"
statement to the CONTROL routine after the call to RESETCONTROL. Furthermore, this would
explain why VTSERVER uses so much CPU during a serial read (DBGET MODE2). Because FINPAC
uses a subroutine called DGET, that contains this "ON CONTROLY" statement, prior to
every call to DBGET.

Thanks Again,

Michael Anderson.
Sr. Systems Programmer
TIW Corporation,
Houston, TX (713) 729-2110 Ext:100

ATOM RSS1 RSS2