mfeldman@seas.gwu.edu (Michael Feldman) (01/23/91)
In article <mskuhn.664466478@faui09> mskuhn@faui09.informatik.uni-erlangen.de (Markus Kuhn) writes: >I am developing an (public domain) application with Meridian >Open Ada 4.1 (was AdaZ) with lots of pre-emptive tasking >and access to the serial ports (an OSI system!). > >Can this problem also be solved with Meridian's interrupt >entry mechanism? Somebody wrote here a few weeks ago that this >would be to slow. > I assume you have access to the AdaZ documentation. Their DOS Environment Library has a package called Interrupt. Gives you direct access to the DOS interrupts without using the "right" Ada way to do it, which is the interrupt entry. Looks similar to what you're used to in TP. I have no idea what the comparative timings are. There is a commonly-held view that ANYTHING done with the Ada tasking constructs MUST be much slower than doing it "the old way" without tasking. This seems to be true sometimes, but not always. I'd be VERY interested in seeing a comparative implementation of (a simple version) of your program, done both ways. I think the net would be interested as well. If you can get this working, we'd all appreciate your posting the code. Try something simple first. --------------------------------------------------------------------------- Prof. Michael Feldman Department of Electrical Engineering and Computer Science The George Washington University Washington, DC 20052 202-994-5253 mfeldman@seas.gwu.edu ---------------------------------------------------------------------------
case@shamash.cdc.com (Steven V. Case) (01/23/91)
In article <2583@sparko.gwu.edu>, mfeldman@seas.gwu.edu (Michael Feldman) writes: > In article <mskuhn.664466478@faui09> mskuhn@faui09.informatik.uni-erlangen.de (Markus Kuhn) writes: > >I am developing an (public domain) application with Meridian > >Open Ada 4.1 (was AdaZ) with lots of pre-emptive tasking > >and access to the serial ports (an OSI system!). > > > >Can this problem also be solved with Meridian's interrupt > >entry mechanism? Somebody wrote here a few weeks ago that this > >would be to slow. > > > I assume you have access to the AdaZ documentation. Their DOS Environment > Library has a package called Interrupt. Gives you direct access to the > DOS interrupts without using the "right" Ada way to do it, which is the > interrupt entry. Looks similar to what you're used to in TP. Sorry, but the DOS Environment Library does not help here. The Interrupt package provides 'calls' to the interrupt vectors. The original post was looking for information on how to implement their own handler to respond to calls to the interrupt vectors. As it turns out, the 4.0 version of Meridian Ada does not appear to support user implemented interrupt handlers for the RS-232 interrupts. I don't know if the 4.1 version will provide the capability. I am (im)patiently waiting for my upgrade. As soon as it arrives I will port my 4.0 code over and see what happens. -- ____ ____ Steve Case - HQG526 email: case@shamash.cdc.com / ___||___ \ Control Data Corporation AT&T : (612) 853-3345 | |___ ___| | 3101 East 80th Street \____||____/ Bloomington, MN 55425