[ROOT] Can we *make* CINT Thread safe?

From: Christoph Bugel (cbugel@netvision.net.il)
Date: Sun Nov 05 2000 - 21:14:10 MET


Hi,

What would it take to make CINT thread safe?

I would like to use CINT in a data processing system, where multiple data
streams are processed by multiple C++ 'scripts'. (macros in root
terminology :-). So we need multiple CINT's executing simultaneously.

The option of running CINT's in multiple processes would affect 
performance because we have large amounts of data, and moving it between
processes is expensive.

Compiling the scripts with a native compiler is a good solution,
but for some reason we can't do that in all cases.
(well the reasons are basically convenience for the user, and some
concern that compiling scripts at run time by the user will have technical
limitations / problems / platform independence issues etc. This may not
be that much of a problem though. another reason is that scripts can be
debugged with the interpreter, and compiled code can't)

So ideally we would like to run multiple independent CINT threads,
all in the same process! I know this is not currently possible.
my question, then is: (all right: are)
Would it be hard to add thread safety to CINT? (Maybe I can help)
Why, actually, is CINT tread unsafe?
(I have been told that if static variables are the only problem they can
be replaced quite transparently with a class wrapper that checks for the
thread ID whenever it is accessed.)

regards,
Christoph



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET