home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!uwm.edu!rpi!ghost.dsi.unimi.it!univ-lyon1.fr!cismibm.univ-lyon1.fr!ppollet
- From: ppollet@cismibm.univ-lyon1.fr (Patrick POLLET)
- Newsgroups: comp.lang.pascal
- Subject: Re: TVISION and Interrupts. Is it safe?
- Date: Wed, 16 Dec 1992 09:08:00 GMT
- Organization: INSA CENTRE INFORMATIQUE DU 1er CYCLE
- Lines: 53
- Message-ID: <ppollet.72.724496880@cismibm.univ-lyon1.fr>
- References: <1992Dec14.210207.10760@vax.oxford.ac.uk>
- NNTP-Posting-Host: 134.214.232.25
-
- In article <1992Dec14.210207.10760@vax.oxford.ac.uk> speedy@vax.oxford.ac.uk writes:
- >From: speedy@vax.oxford.ac.uk
- >Subject: TVISION and Interrupts. Is it safe?
- >Date: 14 Dec 92 21:02:07 GMT
-
- >Interrupts and Turbo Vision
- >===========================
-
- >Is this sort of thing safe. It certainly used to work in
- >Turbo Pascal 6 - but does not now seem to work in BP7.
- It
- >actually seems to work on a 486 but not on a 286 or 386 which
- >makes me think that there must be some sort of re-entry.
-
- >In certain circumstances it seems to utterly lock up the
- >computer (big red button time :-( ) Does turbo vision re-enable
- >interrupts? Or is it just not a safe thing to do with
- >TVISION?
-
- I do not have BP7 yet to test your program but may I do some
- comments that may provide some hints ?
-
- I went though the code that is quite a nice implementation .
-
- I am surprised by the following:
- - you install you interrupt hook upon calling InitWaitBox,i.e. at program
- starting point and uninstall it in the exit proc, i.e; at program
- termination.What bothers me it that you interrupt handler is active even
- when no wait box is on the screen ?? Grabbing the interrupt would be better
- placed in WaitOn function and releasing it in Waitoff... At least you could
- be sure during what program section your interrupt is active...
- That stack swapping that you do every 1/18th of a second ,even with no
- wait box active may bother some other parts of your program ???
- - also I spotted in the source ouple of places where the CLI instruction
- is emmitted without a counterpart STI
- (in the interrupt handler and in the WaitOn() function where a wait box
- is already active ?
- -the CLI instruction in the interrupt handler may stop interrupts for
- too long. why not doing it only during stack swappings at entry point and
- at exit point ?
-
- Hope it will helps ????
- ppollet@cismibm.univ-lyon1.fr (Patrick POLLET)
- --------------------------------------------------------
- Dr Patrick L.Pollet
- Institut National des Sciences Appliquées
- Centre Informatique du 1er Cycle Bat 110
- 20 Avenue A.Einstein
- 69621 Villeurbanne Cedex France
- --------------------------------------------------------
- Phone: 72 43 83 80 - la premiere erreur c'est
- Fax : 72 43 85 33 - de se lever le matin ... GASTON
- -------------------------------------------------------
-