comp.lang.ada
 help / color / mirror / Atom feed
* Propagation of exceptions raised within tasks
@ 1986-06-02 16:16 frigo
  1986-06-04 14:13 ` Propagation of exceptions raised wit emery
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: frigo @ 1986-06-02 16:16 UTC (permalink / raw)


Re: Propagation of exceptions from tasks

Can anyone help me with this problem? It must e[Dbe a programming
error, but I can't find it...

The main procedure instantiates a package TASK_PAK, generic on
the number of tasks to be created. TASK_PAK declares an array
of records containing each a task component. The task body is
S[Dseparate(TASK_PAK).    

Each task has an exception handler of the form

    when OTHERS =>
       raise TASK_CH[DRASHED;

After starting all the tasks (they have an entry START) the main
procdu[D[Dedure goes in a loop in which it performs a selective entry
call to another task[D[D[D[D[D[D[D[D[D[D[D[D[D[CANOTHER task. The main procedure loop looks like this:

  begin
    loop
      select
        KEYBOARD.WAIT_FOR_SHUTDW[DOWN;
        ...
        exit;
      else
        delay 1 * SECS;
    end loop;
   [Dexception
    when TASK_CRASHED =>
      ...
  end;

Usin[D[D[D[DUsing the VAX/Ada de[D[D[D[D[D[D[D[D[D[Ddebugger under VAX/VMS, I can see the exception raisd[Ded
in one of the task being intercepted by the task excepion handler
and raised again as TASK_CRASHED.    However, the main program
stays de[D[DDELAYed on the selective entry call, and its exception
handler is not executed.    Why???

-- 
                       G. Vittorio FRIGO,
                       C.E.R.N., CH - 1211 Geneva 23, Switzerland

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1986-06-20 15:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1986-06-02 16:16 Propagation of exceptions raised within tasks frigo
1986-06-04 14:13 ` Propagation of exceptions raised wit emery
1986-06-06 13:41   ` Doug Bryan
1986-06-06 20:57 ` emery
1986-06-20 15:05 ` Propagation of exceptions raised wi stt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox