< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] Making DUM Thread-Safe


Hi,

 

although our application calls dum functions from multiple threads we haven’t run into any problems yet (I don’t know why) apart from some crashes when shutting down…

 

Nevertheless I want to get I want to get rid of any possible concurrency problems. The results of my recent assessments are:

 

·         dum callbacks into my application are not an issue since it is already well protected

·         Many dum functions do not need any modifications because no common resources are used (e.g. MakeResponse, makeRegistration, makeNewSession etc.)

·         Some dum functions pass messages directly to the stack. No modification is needed because the communication between dum and the stack is already thread safe

·         Some DialogUseManager functions need a mutex to avoid concurrent access

·         The DumThread class’s Thread() function would need to be modified to use this mutex

 

So my questions are:

 

Are these assessments correct?

Which are the DialogUseManager functions that need to be modified?

Would it be sufficient to make modifications to DialogUseManager functions or would other classes need modification, too?

Would there be a general interest to have these things integrated into dum (single-threaded apps wouldn’t be affected anyway)?

Or would it be better to create a layer above dum (class inherited from dum), would that be possible at all?

 

Thanks for any hints!

 

Best regards,

Freundliche Grüße,

 

Matthias Moetje

TERASENS GmbH
Augustenstraße 24
80333 Munich
GERMANY

 

Phone:
Fax:
e-mail:
Web:

+49.89.143370-0
+49.89.143370-22
info@xxxxxxxxxxxx
www.terasens.com