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

Conference clt::cma

Title:DECthreads Conference
Moderator:PTHRED::MARYSTEON
Created:Mon May 14 1990
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1553
Total number of notes:9541

1480.0. "threads / signals / exceptions / Unix4.0B" by TAEC::MARTIN () Thu Feb 06 1997 17:46

Hi,

  While migrating DECss7 from Unix 3.2 to 4.0 we are having trouble with signals
 and exceptions in DIGITAL Unix 4.0
The facts:
DECss7 is multithreaded (emulation of VMS ASTs...)

DECss7 is written with C/C++/ADA

ADA catches some signals (FPE ...)

I read in "guide to DECthread programming" that Synchronous signals are catched
by DECthread and converted into exceptions.

my Questions are:
  - who is the winner for sync. signal catching: ADA or DECthread  (order of
elaboration ???)
  - are DECthreads exceptions (pthread_exc_xxx) catchable with C++ try/catch
handler ? or is it compulsory to use TRY/CATCH macros ?? if yes, how ? examples ?
  - where is it possible to find more documentation about (interaction between)
pthreads/signals/exceptions ?



I thank you !!!


Laurent
SISB Telecom
T.RTitleUserPersonal
Name
DateLines
1480.1One big happy model...WTFN::SCALESDespair is appropriate and inevitable.Thu Feb 06 1997 21:4519
.0> who is the winner for sync. signal catching: ADA or DECthread

Whoever gets there last (which is probably Ada) wins.  Keep in mind that there
can only be one signal handler (per signal) for all the threads in the process. 
Thus, if you choose to preempt the DECthreads handler, you are potentially
disrupting the ability of other threads in the process to handle the exception.

.0> are DECthreads exceptions (pthread_exc_xxx) catchable with C++ try/catch
.0> handler?

Our goal is to have the various exception models be fully interoperable.  We've
been moving in that direction, and starting somewhere in the V4.0 range you will
be able to catch DECthreads exceptions using C and C++ language features.  (I
don't know more details than that...perhaps one of the other guys will fill in.)
I'm not sure that you will ever be able to catch C++ exceptions using DECthreads
TRY/CATCH blocks.


				Webb