--- osiris-4.1.8-orig/src/osirisd/osirisd.c	2005-04-14 01:00:55.000000000 +0200
+++ osiris-4.1.8-1/src/osirisd/osirisd.c	2005-04-22 23:11:32.000000000 +0200
@@ -218,6 +218,8 @@
 
 #ifdef USE_PRIVSEP
     rootpriv_setup_pidfile();
+#else
+    setup_pidfile();
 #endif
 
     process();
--- osiris-4.1.8-orig/src/osirisd/rootpriv.c	2005-04-14 00:55:59.000000000 +0200
+++ osiris-4.1.8-1/src/osirisd/rootpriv.c	2005-04-22 23:25:10.000000000 +0200
@@ -35,6 +35,10 @@
 #include "logging.h"
 #include "rootpriv.h"
 
+#ifndef WIN32
+extern char pid_file[MAX_PATH_LENGTH];
+#endif
+
 #ifdef USE_PRIVSEP
 
 /* this is defined in regex, and sometimes conflicts with stuff */
@@ -80,10 +84,6 @@
 extern pid_t child_pid;
 extern int rootpriv_pipe[2];      /* socketpair used for rootpriv comm.  */
 
-#ifndef WIN32
-extern char pid_file[MAX_PATH_LENGTH];
-#endif
-
 #define INCOMING_ROOT_REQUEST() ( FD_ISSET( rootpriv_pipe[1], &root_read_set ) )
 
 
@@ -292,17 +292,6 @@
 #endif
 }
 
-void setup_pidfile()
-{
-    FILE *pidfile = fopen( pid_file, "wb" );
-
-    if( pidfile != NULL )
-    {
-        fprintf( pidfile, "%ld\n", (long)getpid() );
-        fclose( pidfile );
-    }
-}
-
 void handle_signals()
 {
     pid_t pid;
@@ -789,3 +778,14 @@
 
 #endif /* USE_PRIVSEP */
 
+void setup_pidfile()
+{
+    FILE *pidfile = fopen( pid_file, "wb" );
+
+    if( pidfile != NULL )
+    {
+        fprintf( pidfile, "%ld\n", (long)getpid() );
+        fclose( pidfile );
+    }
+}
+