More changes. Still embryonic.
[u/mdw/catacomb] / noise.c
diff --git a/noise.c b/noise.c
index 094447c..cb30228 100644 (file)
--- a/noise.c
+++ b/noise.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: noise.c,v 1.1 1999/09/03 08:41:12 mdw Exp $
+ * $Id: noise.c,v 1.4 1999/12/10 23:25:15 mdw Exp $
  *
  * Acquisition of environmental noise (Unix specific)
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: noise.c,v $
+ * Revision 1.4  1999/12/10 23:25:15  mdw
+ * Bug fix: remove old spurious fflush.
+ *
+ * Revision 1.3  1999/12/10 23:24:11  mdw
+ * Bug fix: flush buffers before forking.
+ *
+ * Revision 1.2  1999/11/11 00:59:08  mdw
+ * A bit of reformatting.  Initialize the uid and gid correctly.
+ *
  * Revision 1.1  1999/09/03 08:41:12  mdw
  * Initial import.
  *
@@ -37,9 +46,7 @@
 
 /*----- Header files ------------------------------------------------------*/
 
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
+#include "config.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -81,8 +88,8 @@ static unsigned long noise_diff;      /* Last first order difference */
 
 /* --- Setuid program handling --- */
 
-static uid_t noise_uid;                        /* Uid to set to spawn processes */
-static gid_t noise_gid;                        /* Gid to set to spawn processes */
+static uid_t noise_uid = NOISE_NOSETUID; /* Uid to set to spawn processes */
+static gid_t noise_gid = NOISE_NOSETGID; /* Gid to set to spawn processes */
 
 /*----- Main code ---------------------------------------------------------*/
 
@@ -253,6 +260,7 @@ int noise_filter(rand_pool *r, int good, const char *c)
 
   /* --- Fork a child off --- */
 
+  fflush(0);
   kid = fork();
   if (kid < 0) {
     close(fd[0]);
@@ -262,7 +270,6 @@ int noise_filter(rand_pool *r, int good, const char *c)
 
   /* --- Handle the child end of the deal --- */
 
-  fflush(0);
   if (kid == 0) {
     int f;