[comp.lang.ada] Aborting a busy task

paul@cernvax.UUCP (02/27/87)

Suiciding a program containing a task which is busy doing a GET.

How do I do it?

According to the manual, Vax Ada implements synchronous aborts, ie
my ABORT <taskname> statement will not take effect until the target
task executes one of the statements listed in ARM 9.10

It looks as if my task will not see the abort until after it's completed
it's current GET. Unfortunately, the GET might never come.
(Incidentally, that's why I invented the sub-task in the first place, I
wanted a "non-committed" read, ie only read if there's something to be
read immediately. So I buried it in a sub-task.) 

So, assuming my Main program (task) falls over, will the VMS process now
sit around for ever and a day waiting for the sub-task? 

How can I terminate the whole program (in a portable way)?
Is sending a dummy message for it to read sensible? It feels odd...
There again, I suppose I can always use sys$exit,
but that's not quite portable!

Any comments anyone?

Paul Burkimsher,
Cern, Geneva, Switzerland
paul@crvxdev (Bitnet)
...!mcvax!cernvax!vxdev!paul (UUCP)
paul%cern.vxdev@uk.ac.ean-relay (Janet)