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
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to