[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::ada

Title:DEC Ada
Notice:Ada is no longer a trademark of the US Government
Moderator:KMOOSE::CMCCUTCHEON
Created:Mon Jan 27 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3874
Total number of notes:16668

3852.0. "Traceback on Alpha" by LUTECE::SZAFRANSKI (Du vent ... dans les voiles !!!) Thu Mar 20 1997 09:49

Given the following program, we notice a different
behaviour on VAX and on Alpha. (OpenVMS 6.2 DEC ADA 3.3)

On VAX, the traceback is displayed and then a synchronisation
is performed to wait the end of Wait_10_Seconds (dependant)
task, before returning to DCL.

On Alpha the synchonization is done first, so the traceback is
displayed when the task gets terminated. (assuming it is not
an endless loop task, without a mean to terminate).

A previous topic (3264.1) already gave an explanation of the 
reason why this difference appears.

I need a confirmation of the scenario on Alpha. 

I assume that
 - ADARTL creates two (dependant) threads, one
   for Task_Synchro the other for Wait_10_Seconds.
 - the dependancy wait is achieved by CMA$RTL.
 - ADARTL then gets notified, and outputs the traceback.

On the other hand, my customer thinks that the VAX scenario
is more usefull ( immediate notification of the raised
exception ).

Can I have an advise about that point ? 

Thanks a lot.

Georges SZAFRANSKI
CSC EVRY FRANCE
SWTHOM::SZAFRANSKI
858.6809

with Text_Io;

procedure Task_Synchro is

   A, B, C : Integer := 1;

--------------------------------------

task Wait_10_Seconds;

task body Wait_10_Seconds is

begin

   delay 10.0;

end Wait_10_Seconds;

--------------------------------------

begin

--
-- Raises a CONSTRAINT_ERROR
--

   B := 0;
   C := A / B;

end Task_Synchro;
T.RTitleUserPersonal
Name
DateLines
3852.1opinionFLOYD::YODERMFYThu Mar 20 1997 14:066
Which behavior is more useful depends on the program.  For example, if the
dependent tasks are doing I/O but will finish shortly, it is better to not have
their I/O interspersed with the output from the traceback.  I agree with the
customer in that I would expect the VAX behavior to more often be what you want.

However, at this point it is doubtful that it is going to be changed.