|From: Lars Roland
|
|Biot Olivier wrote:
|
|> Hi List,
|>
|> As the shared library build works on cygwin since the
|library now only
|> contains *known* symbols (self-contained library), I suggest
|we give the
|> MSVC++ libethereal.dll build another try.
|>
|> I would however not yet try to build libethereal.dll as such
|for official
|> releases, as it is definitely not multithread-safe and MS
|explicitly demands
|> shared libraries to be MT-safe (I think it has to do with
|the data portion
|> controlled by the DLL in case multiple applications use the
|DLL at the same
|> time -- pls correct me if I am wrong).
|>
|> In order to make libethereal.dll MT-safe, we need to provide
|at a minimum a
|> means for controlling the dissection state information on a
|per-process base
|> (per-thread if you want).
|
|AFAIK all dlls are "multi process safe" on MSWin.
That's interesting!
|Do we really need MT-safe?
The "packet dissection engine" is only used in a single-threaded manner in
the applications that use it. This then also means that we might want to
ship the next version of Win32 Ethereal with a DLL'ified libethereal.
Regards,
Olivier