comp.lang.ada
 help / color / mirror / Atom feed
* Task kernal
@ 1996-06-05  0:00 Tod Trowbridge
  1996-06-05  0:00 ` Theodore E. Dennison
  0 siblings, 1 reply; 3+ messages in thread
From: Tod Trowbridge @ 1996-06-05  0:00 UTC (permalink / raw)



    I am using activada for windows made by Alsys.
Does anybody have any information about a run-time
error "global blocking situation detected by task
kernal".




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

* Re: Task kernal
  1996-06-05  0:00 Task kernal Tod Trowbridge
@ 1996-06-05  0:00 ` Theodore E. Dennison
  1996-06-06  0:00   ` Ed Falis
  0 siblings, 1 reply; 3+ messages in thread
From: Theodore E. Dennison @ 1996-06-05  0:00 UTC (permalink / raw)



Tod Trowbridge wrote:
> 
>     I am using activada for windows made by Alsys.
> Does anybody have any information about a run-time
> error "global blocking situation detected by task
> kernal".

I'd suspect that means you have a task deadlock. This is a situation
where Task_A is waiting to renedzvous with Task_B using Entry_C, and
Task_B is waiting to rendezvous with Task_A using Entry_D. One way
to solve such problems is to write your program using some kind of
client-server model for task interactions. Another way is to have 
one of the tasks use timed entry calls.

-- 
T.E.D.          
                |  Work - mailto:dennison@escmail.orl.mmc.com  |
                |  Home - mailto:dennison@iag.net              |
                |  URL  - http://www.iag.net/~dennison         |




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

* Re: Task kernal
  1996-06-05  0:00 ` Theodore E. Dennison
@ 1996-06-06  0:00   ` Ed Falis
  0 siblings, 0 replies; 3+ messages in thread
From: Ed Falis @ 1996-06-06  0:00 UTC (permalink / raw)



Theodore E. Dennison wrote:
> 
> Tod Trowbridge wrote:
> >
> >     I am using activada for windows made by Alsys.
> > Does anybody have any information about a run-time
> > error "global blocking situation detected by task
> > kernal".
> 
> I'd suspect that means you have a task deadlock. This is a situation
> where Task_A is waiting to renedzvous with Task_B using Entry_C, and
> Task_B is waiting to rendezvous with Task_A using Entry_D. One way
> to solve such problems is to write your program using some kind of
> client-server model for task interactions. Another way is to have
> one of the tasks use timed entry calls.


As the originator of this msg somewhere in the depths of time, I can confirm that the 
msg indicates a exactly what it says: all tasks in the application are in a state where 
none of them can ever proceed.  This is a case where all the tasks are deadlocked 
together.

The most typical cause of this situation is that one of your tasks has "silently died" 
with an unhandled exception.  

In AdaProbe, set Break.Raise.All prior to executing the application (you could actually 
modify the command to be only for unhandled exceptions if you expect exceptions to be 
raised normally).  You application will likely raise an unhandled exception in some 
task, that caused the remainder of the application to go haywire.  Generally there's 
also a design problem in such situations, since you may not have considered that the 
tasks would ever get into certain states (such as the permanent blockign situation).

Feel free to drop a line if you need to discuss in more detail.

- Ed




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

end of thread, other threads:[~1996-06-06  0:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-06-05  0:00 Task kernal Tod Trowbridge
1996-06-05  0:00 ` Theodore E. Dennison
1996-06-06  0:00   ` Ed Falis

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