[ros-dev] Re: [ros-diffs] [ion] 16361: PCH for csrss and win32csr, and remove rosrtl usage

Hartmut Birr hartmut.birr at gmx.de
Sat Jul 2 15:24:07 CEST 2005


ion at svn.reactos.com wrote:

>PCH for csrss and win32csr, and remove rosrtl usage
>
>Modified: trunk/reactos/subsys/csrss/api/wapi.c
>  
>
> *Modified: trunk/reactos/subsys/csrss/api/wapi.c*
>
>--- trunk/reactos/subsys/csrss/api/wapi.c	2005-07-01 02:47:15 UTC (rev 16360)
>+++ trunk/reactos/subsys/csrss/api/wapi.c	2005-07-01 03:03:06 UTC (rev 16361)
>@@ -10,13 +10,8 @@
>
> 
> /* INCLUDES ******************************************************************/
> 
>  
>
>-#include <windows.h>
>-#define NTOS_MODE_USER
>-#include <ndk/ntndk.h>
>-#include <rosrtl/thread.h>
>  
>
>+#include "csrss.h"
>  
>
> 
>  
>
>-#include "api.h"
>-
>  
>
> #define NDEBUG
> #include <debug.h>
> 
>@@ -170,7 +165,7 @@
>  
>
>     
>     /* Close the port and exit the thread */
>     NtClose(ServerPort);
>  
>
>-    RtlRosExitUserThread(STATUS_SUCCESS);
>  
>
>+    NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
>  
>
> }
> 
>  
>
Hi,

this change is wrong. If you remove RtlRosExitUserThread, you have to
insert the code from RtlRosExitUserThread. With the current code, the
user mode stack from the thread isn't freed. Csrss does crash after a
short time because csrss isn't able to create a stack for a new thread.
This occurs while compiling ros on ros.

- Hartmut



More information about the Ros-dev mailing list