[gnutls-dev] Re: Gnutls4win: Problem with custom push/pull functions, errno and Visual Studio (Workaround included)

Werner Koch wk at gnupg.org
Mon Nov 6 17:26:11 CET 2006


On Mon,  6 Nov 2006 15:46, jas at extundo.com said:

> Anyway, what are the additional problems and what is the correct
> solution to the entire mess?

The CRT (or lets call it libc) is stateful and most implementations
use fome kind of mutexes or thread local storage to make it
thread-safe.  Think only of stdio - it should lead to problems if you
pass a stream from one module to another, just like free.

> Not linking to any CRT at all?  I wonder how much from the CRT gnutls
> actually needs, it might be possible...

I don't know.  From debugging the resource compiler, linker and MAPI
stuff I recall that MS has something like indirect linking.  I am not
sure however.

> Providing more than one gnutls DLL?  E.g., gnutls-mscvrt.dll and
> gnutls-msvcr71.dll?

and also gnutls-msvcr72 ?  I don't think that this is a proper
solution.  We need to figure out how this can be done correctly.  One
problem is that these are only subtle and possible the reason why
Windows software sometimes crashes when updating parts of the system.

> I suspect that this patch goes a long way to fix things, though.

:-(


Shalom-Salam,

   Werner




More information about the Gnutls-dev mailing list