- don't return FALSE for system process changes
- SHUTDOWN_NORETRY is 1 and has to be in winbase.h
diff --git a/include/winbase.h b/include/winbase.h
index f79ce31..6d7b792 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -247,6 +247,8 @@
#define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)
+#define SHUTDOWN_NORETRY 1
+
/* comm */
#define CBR_110 0xFF10
diff --git a/scheduler/process.c b/scheduler/process.c
index 78256ee..33d35f6 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -1124,25 +1124,15 @@
*
* CHANGED - James Sutherland (JamesSutherland@gmx.de)
* Now tracks changes made (but does not act on these changes)
- * NOTE: the definition for SHUTDOWN_NORETRY was done on guesswork.
- * It really shouldn't be here, but I'll move it when it's been checked!
*/
-#define SHUTDOWN_NORETRY 1
-static unsigned int shutdown_noretry = 0;
-static unsigned int shutdown_priority = 0x280L;
-BOOL WINAPI SetProcessShutdownParameters(DWORD level,DWORD flags)
+static DWORD shutdown_flags = 0;
+static DWORD shutdown_priority = 0x280;
+
+BOOL WINAPI SetProcessShutdownParameters(DWORD level, DWORD flags)
{
- if (flags & SHUTDOWN_NORETRY)
- shutdown_noretry = 1;
- else
- shutdown_noretry = 0;
- if (level > 0x100L && level < 0x3FFL)
- shutdown_priority = level;
- else
- {
- ERR("invalid priority level 0x%08lx\n", level);
- return FALSE;
- }
+ FIXME("(%08lx, %08lx): partial stub.\n", level, flags);
+ shutdown_flags = flags;
+ shutdown_priority = level;
return TRUE;
}
@@ -1151,13 +1141,14 @@
* GetProcessShutdownParameters (KERNEL32)
*
*/
-BOOL WINAPI GetProcessShutdownParameters( LPDWORD lpdwLevel,
- LPDWORD lpdwFlags )
+BOOL WINAPI GetProcessShutdownParameters( LPDWORD lpdwLevel, LPDWORD lpdwFlags )
{
- (*lpdwLevel) = shutdown_priority;
- (*lpdwFlags) = (shutdown_noretry * SHUTDOWN_NORETRY);
- return TRUE;
+ *lpdwLevel = shutdown_priority;
+ *lpdwFlags = shutdown_flags;
+ return TRUE;
}
+
+
/***********************************************************************
* SetProcessPriorityBoost (KERNEL32)
*/