CVSROOT: /cvs/gnome
Module name: glib
Changes by: tml 05/08/31 17:02:47
Modified files:
. : ChangeLog
glib : gutils.c gutils.h
Log message:
2005-08-31 Tor Lillqvist <[EMAIL PROTECTED]>
* glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
the EXE and each DLL have their own atexit function chains.
#define g_atexit as atexit instead. This means it has a
better chance of doing what the caller wants. For instance,
gtkhtml calls g_atexit() registering a function in gtkhtml
itself. This caused a crash when g_atexit() was implemented as a
function in the GLib DLL. The gtkhtml DLL was already unloaded by
the time the GLib DLL got unloaded.
* glib/gutils.c: #undef the #define mentioned above, to also get a
real g_atexit() into the DLL for backward compatibility. Document
the Windows behaviour of g_atexit(), and document the varying ways
atexit() can behave in the context of dynamically loaded modules
on Unix.
URL :
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=glib&who=tml&date=explicit&mindate=2005-08-31%2017:01&maxdate=2005-08-31%2017:03
_______________________________________________
cvs-commits-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/cvs-commits-list