$NetBSD: patch-ai,v 1.1 2008/05/12 15:49:30 tonnerre Exp $

--- netserver.c.orig	2004-09-21 23:33:40.000000000 +0200
+++ netserver.c
@@ -138,6 +138,9 @@ FILE	*afp;
 short	listen_port_num;
 extern	char	*optarg;
 extern	int	optind, opterr;
+#ifndef WIN32
+char debuglog[] = "/tmp/netperf.debugXXXXXX";
+#endif
 
 #ifndef WIN32
 #define SERVER_ARGS "dn:p:v:46"
@@ -181,8 +184,14 @@ process_requests()
       netperf_response.content.response_type = DEBUG_OK;
       send_response();
 	  //+*+SAF why???
-	  if (!debug) 
+	  if (!debug)
+	  {
 	      fclose(where);
+#ifndef WIN32
+	      unlink(debuglog);
+	      close(fd);
+#endif
+	  }
       break;
       
     case CPU_CALIBRATE:
@@ -730,7 +739,13 @@ struct sockaddr name;
 
 /*  unlink(DEBUG_LOG_FILE); */
 #ifndef WIN32
-  if ((where = fopen(DEBUG_LOG_FILE, "w")) == NULL) {
+  if ((fd = mkstemp(debuglog)) == -1 || (where = fdopen(fd, "w+")) == NULL)
+  {
+    if (fd != -1)
+    {
+      unlink(debuglog);
+      close(fd);
+    }
     perror("netserver: debug file");
     exit(1);
   }
@@ -761,10 +776,6 @@ struct sockaddr name;
   }
 #endif
  
-#ifndef WIN32 
-  chmod(DEBUG_LOG_FILE,0644);
-#endif
-  
 #if WIN32
   if (child) {
 	  server_sock = (SOCKET)GetStdHandle(STD_INPUT_HANDLE);
