[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MCL2.0 and Mac completion routines...
- To: info-mcl@cambridge.apple.com
- Subject: MCL2.0 and Mac completion routines...
- From: DOYLE@SISU
- Date: Thu, 2 Apr 1992 11:32 EST
Greetings!
What is the best way to have an asynchronous ATP (or ADSP) completion
routine invoke function within MCL2.0? I'm assuming that defpascal
and defccallable should not be invoked from within a completion routine
[I don't think that a GC at interrupt time would be welcomed...:-) ]
I can't use AppleEvents because the machine (a VAX) generating the message
isn't a Mac and doesn't support AppleEvents or the PPCToolBox (it does support
ATP and ADSP). I don't want to use MacTCP because
a) TCP/IP isn't installed
b) Some communications hardware gets confused when more than one
protocol is being used. So... I'd love to stay within a single
protocol (AppleTalk!)
These are the choices I can see:
1. Code the callback routine in C, have it store its output in a
global variable in a FF environment. Then I could poll this location
via an ff-call....(from *eventhook* or something like that...)
I don't like this because I have to chew up CPU cycles for something
that should be asynchrounous. However, it is simple and it would be
pretty painless.
2. Place the completion routine in a background task, and have this application
send an AppleEvent to MCL. From there it is easy...
I don't like this because it I don't think it is elegant (and it might
be a pain to maintain... periodically one has to check that the
background application is still there... or have it send an AE to
MCL if it exits gracefully... but what if it doesn't?).
3. Use defccallable... but enclose the lisp function in the form
without-interrupts.
I'm hoping that I've missed something in the documentation... after
all... #'apropos sez that there are plenty of things that know about A5!
Any suggestions welcomed!
Thanks
Sean Doyle
doyle@sisu.mgh.harvard.edu