From: Michael O'Connor <moconnor59@ya...> - 2004-03-22 14:44:52
Another quick question I hope: does ECL support
running multiple instances simultaneously?
I think the answer is no, because there seems to be no
way to specify which instance is being referred to
when setting up a callback function using
cl_def_c_function() in the C/C++ app (so that if a C
function name gets re-used by more than one instance,
but points to a different function, then at least one
of the instances will make the wrong function call -
this is the equivalent of saying that there is a
single global namespace for ECL callback function
Other than this, there seems to be no reason that
multiple ECL instances won't work. Am I right?
(This isn't actually a problem for me, I'm asking in
order to clarify my understanding of how ECL works).
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
From: Juan Jose Garcia Ripoll <jlr@mp...> - 2004-03-22 15:19:23
Michael O'Connor wrote:
>Another quick question I hope: does ECL support
>running multiple instances simultaneously?
The "instances" that you mention, are probably analogous to "processes",
aren't they? What you probably mean is creating different environments,
with independent variable and function bindings, that cannot mess each
other. This has not yet been implemented. But something close is already
>Other than this, there seems to be no reason that
>multiple ECL instances won't work. Am I right?
The reason is that this concept is not really used in the CL world, and
that it is too "expensive" to duplicate all packages, and all symbols,
etc, etc. On the other hand, ECL's support for threads is partly based
on having separate instances that share some common data (packages,
symbols, etc) and have a private area (variable bindings, lisp stack, etc).
BTW, any help in improving the "threads" stuff is really really welcome.