[ros-dev] [ros-diffs] [jgardou] 52840: [CRT] - get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation

Jérôme Gardou jerome.gardou at laposte.net
Sun Jul 24 16:49:00 UTC 2011


Reverts 52836, 52829 and 52828, sorry.

Le 24/07/2011 18:45, jgardou at svn.reactos.org a écrit :
> Author: jgardou
> Date: Sun Jul 24 16:45:41 2011
> New Revision: 52840
>
> URL: http://svn.reactos.org/svn/reactos?rev=52840&view=rev
> Log:
> [CRT]
> - get back atexit handling as it was before.
> (reverts 52838, 52829, 52828)
> Thanks to Kai and Timo for the explanation
>
> Modified:
>      trunk/reactos/dll/win32/msvcrt/msvcrt.spec
>      trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec
>      trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec
>      trunk/reactos/lib/3rdparty/mingw/crtexe.c
>      trunk/reactos/lib/3rdparty/mingw/mingw.rbuild
>      trunk/reactos/lib/sdk/crt/msvcrtex.cmake
>      trunk/reactos/lib/sdk/crt/startup/crtdll.c
>      trunk/reactos/lib/sdk/crt/startup/crtexe.c
>
> Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.spec
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.spec?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -1156,7 +1156,7 @@
>   @ cdecl asin(double)
>   @ cdecl atan(double)
>   @ cdecl atan2(double double)
> -@ cdecl atexit(ptr)
> +@ extern atexit #<-- keep this as an extern, thank you
>   @ cdecl atof(str)
>   @ cdecl atoi(str)
>   @ cdecl atol(str)
>
> Modified: trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -937,7 +937,7 @@
>   @ cdecl asin(double)
>   @ cdecl atan(double)
>   @ cdecl atan2(double double)
> -@ cdecl atexit(ptr)
> +@ extern atexit #<-- do not touch this!
>   @ cdecl atof(str)
>   @ cdecl atoi(str)
>   @ cdecl atol(str)
>
> Modified: trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -975,7 +975,7 @@
>   @ cdecl asin(double)
>   @ cdecl atan(double)
>   @ cdecl atan2(double double)
> -@ cdecl atexit(ptr)
> +@ extern atexit #<-- changing this will kill your cat, understand?
>   @ cdecl atof(str)
>   @ cdecl atoi(str)
>   @ cdecl atol(str)
>
> Modified: trunk/reactos/lib/3rdparty/mingw/crtexe.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/mingw/crtexe.c?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] (original)
> +++ trunk/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -71,8 +71,8 @@
>   /* TLS initialization hook.  */
>   extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback;
>
> -//extern _PVFV *__onexitbegin;
> -//extern _PVFV *__onexitend;
> +extern _PVFV *__onexitbegin;
> +extern _PVFV *__onexitend;
>
>   extern int mingw_app_type;
>
> @@ -119,7 +119,7 @@
>       __set_app_type(_GUI_APP);
>     else
>       __set_app_type (_CONSOLE_APP);
> -//  __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1));
> +  __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1));
>
>     * __MINGW_IMP_SYMBOL(_fmode) = _fmode;
>     * __MINGW_IMP_SYMBOL(_commode) = _commode;
>
> Modified: trunk/reactos/lib/3rdparty/mingw/mingw.rbuild
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/mingw/mingw.rbuild?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] (original)
> +++ trunk/reactos/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -12,7 +12,7 @@
>   	<include base="ReactOS">include/reactos/mingw-w64</include>
>   	<library>kernel32</library>
>   	<file>_newmode.c</file>
> -	<!--file>atonexit.c</file-->
> +	<file>atonexit.c</file>
>   	<file>binmode.c</file>
>   	<file>charmax.c</file>
>   	<file>cinitexe.c</file>
>
> Modified: trunk/reactos/lib/sdk/crt/msvcrtex.cmake
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/msvcrtex.cmake?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/lib/sdk/crt/msvcrtex.cmake [iso-8859-1] (original)
> +++ trunk/reactos/lib/sdk/crt/msvcrtex.cmake [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -17,7 +17,7 @@
>       startup/natstart.c
>       startup/charmax.c
>       startup/merr.c
> -#    startup/atonexit.c
> +    startup/atonexit.c
>       startup/txtmode.c
>       startup/pesect.c
>       startup/tlsmcrt.c
>
> Modified: trunk/reactos/lib/sdk/crt/startup/crtdll.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/startup/crtdll.c?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] (original)
> +++ trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -49,8 +49,8 @@
>
>   static int __proc_attached = 0;
>
> -//extern _PVFV *__onexitbegin;
> -//extern _PVFV *__onexitend;
> +extern _PVFV *__onexitbegin;
> +extern _PVFV *__onexitend;
>
>   extern int mingw_app_type;
>
> @@ -65,7 +65,7 @@
>   static int
>   pre_c_init (void)
>   {
> -/*  _PVFV *onexitbegin;
> +  _PVFV *onexitbegin;
>
>     onexitbegin = (_PVFV *) malloc (32 * sizeof (_PVFV));
>     __onexitend = __onexitbegin = (_PVFV *) _encode_pointer (onexitbegin);
> @@ -73,8 +73,7 @@
>     if (onexitbegin == NULL)
>       return 1;
>     *onexitbegin = (_PVFV) NULL;
> -  return 0;*/
> -  return 1;
> +  return 0;
>   }
>
>   WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
> @@ -136,7 +135,7 @@
>   	  _amsg_exit (31);
>   	}
>         else
> -	{/*
> +	{
>   	  _PVFV * onexitbegin = (_PVFV *) _decode_pointer (__onexitbegin);
>   	  if (onexitbegin)
>   	    {
> @@ -146,7 +145,7 @@
>   		  (**onexitend) ();
>   	      free (onexitbegin);
>   	      __onexitbegin = __onexitend = (_PVFV *) NULL;
> -	    }*/
> +	    }
>   	  __native_startup_state = __uninitialized;
>   	  (void) InterlockedExchangePointer ((volatile PVOID *)&__native_startup_lock, 0);
>   	}
>
> Modified: trunk/reactos/lib/sdk/crt/startup/crtexe.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/startup/crtexe.c?rev=52840&r1=52839&r2=52840&view=diff
> ==============================================================================
> --- trunk/reactos/lib/sdk/crt/startup/crtexe.c [iso-8859-1] (original)
> +++ trunk/reactos/lib/sdk/crt/startup/crtexe.c [iso-8859-1] Sun Jul 24 16:45:41 2011
> @@ -75,8 +75,8 @@
>   /* TLS initialization hook.  */
>   extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback;
>
> -//extern _PVFV *__onexitbegin;
> -//extern _PVFV *__onexitend;
> +extern _PVFV *__onexitbegin;
> +extern _PVFV *__onexitend;
>
>   extern int mingw_app_type;
>
> @@ -128,7 +128,7 @@
>       __set_app_type(_GUI_APP);
>     else
>       __set_app_type (_CONSOLE_APP);
> -//  __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1));
> +  __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1));
>
>     * __MINGW_IMP_SYMBOL(_fmode) = _fmode;
>     * __MINGW_IMP_SYMBOL(_commode) = _commode;
>
>




More information about the Ros-dev mailing list