Ethereal-dev: RE: [Ethereal-dev] MSVC shared object build

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Biot Olivier <Olivier.Biot@xxxxxxxxxxx>
Date: Mon, 26 Apr 2004 13:54:14 +0200
|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