Selaa lähdekoodia

Fix USE_TIMERS for CGI

bel2125 7 vuotta sitten
vanhempi
commit
6a5f94e787
1 muutettua tiedostoa jossa 15 lisäystä ja 11 poistoa
  1. 15 11
      src/civetweb.c

+ 15 - 11
src/civetweb.c

@@ -425,7 +425,7 @@ mg_static_assert(sizeof(size_t) == 4 || sizeof(size_t) == 8,
                  "size_t data type size check");
 
 #if defined(_WIN32) && !defined(__SYMBIAN32__) /* WINDOWS include block */
-#include <winsock2.h> /* DTL add for SO_EXCLUSIVE */
+#include <winsock2.h>                          /* DTL add for SO_EXCLUSIVE */
 #include <ws2tcpip.h>
 #include <windows.h>
 
@@ -5508,6 +5508,7 @@ dlclose(void *handle)
 #if !defined(NO_CGI)
 #define SIGKILL (0)
 
+
 static int
 kill(pid_t pid, int sig_num)
 {
@@ -5516,11 +5517,12 @@ kill(pid_t pid, int sig_num)
 	return 0;
 }
 
+
 #ifndef WNOHANG
 #define WNOHANG (1)
 #endif
 
-#if defined(USE_TIMERS)
+
 pid_t
 waitpid(pid_t pid, int *status, int flags)
 {
@@ -5542,7 +5544,6 @@ waitpid(pid_t pid, int *status, int flags)
 	}
 	return (pid_t)-1;
 }
-#endif /* USE_TIMERS */
 
 
 static void
@@ -5723,6 +5724,7 @@ set_non_blocking_mode(SOCKET sock)
 	unsigned long non_blocking = 1;
 	return ioctlsocket(sock, (long)FIONBIO, &non_blocking);
 }
+
 #else
 
 static int
@@ -10774,6 +10776,9 @@ prepare_cgi_environment(struct mg_connection *conn,
 #define TIMER_API static
 #include "timer.inl"
 
+#endif /* USE_TIMERS */
+
+
 static int
 abort_process(void *data)
 {
@@ -10798,8 +10803,6 @@ abort_process(void *data)
 	return 0;
 }
 
-#endif /* USE_TIMERS */
-
 
 static void
 handle_cgi_request(struct mg_connection *conn, const char *prog)
@@ -10882,8 +10885,12 @@ handle_cgi_request(struct mg_connection *conn, const char *prog)
 
 #if defined(USE_TIMERS)
 	// TODO (#618): set a timeout
-	timer_add(
-	    conn->phys_ctx, /* one minute */ 60.0, 0.0, 1, abort_process, (void*)pid);
+	timer_add(conn->phys_ctx,
+	          /* one minute */ 60.0,
+	          0.0,
+	          1,
+	          abort_process,
+	          (void *)pid);
 #endif
 
 	/* Make sure child closes all pipe descriptors. It must dup them to 0,1
@@ -11085,13 +11092,10 @@ done:
 	mg_free(blk.var);
 	mg_free(blk.buf);
 
-#if defined(USE_TIMERS)
 	if (pid != (pid_t)-1) {
-#if defined(USE_TIMERS)
 		abort_process((void *)pid);
-#endif
 	}
-#endif /* USE_TIMERS */
+
 	if (fdin[0] != -1) {
 		close(fdin[0]);
 	}