Fixed process startup synchronization broken by previous change.

diff --git a/server/process.h b/server/process.h
index 81a18e2..7519fc5 100644
--- a/server/process.h
+++ b/server/process.h
@@ -27,6 +27,9 @@
 struct atom_table;
 struct startup_info;
 
+/* process startup state */
+enum startup_state { STARTUP_IN_PROGRESS, STARTUP_DONE, STARTUP_ABORTED };
+
 /* process structures */
 
 struct process_dll
@@ -61,6 +64,7 @@
     int                  suspend;         /* global process suspend count */
     int                  create_flags;    /* process creation flags */
     struct console_input*console;         /* console input */
+    enum startup_state   startup_state;   /* startup state */
     struct startup_info *startup_info;    /* startup info while init is in progress */
     struct event        *idle_event;      /* event for input idle */
     struct msg_queue    *queue;           /* main message queue */
@@ -108,6 +112,9 @@
 extern struct module_snapshot *module_snap( struct process *process, int *count );
 
 inline static void *get_process_id( struct process *process ) { return process; }
-inline static int is_process_init_done( struct process *process ) { return process->exe.base != 0; }
+inline static int is_process_init_done( struct process *process )
+{
+    return process->startup_state == STARTUP_DONE;
+}
 
 #endif  /* __WINE_SERVER_PROCESS_H */