Allow to build without pthreads
authorAlan T. DeKok <aland@freeradius.org>
Wed, 21 Apr 2010 06:55:00 +0000 (08:55 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 26 Apr 2010 14:02:53 +0000 (16:02 +0200)
src/main/event.c

index 39091ca..512e57a 100644 (file)
@@ -158,6 +158,42 @@ static void remove_from_request_hash(REQUEST *request)
 #endif
 }
 
+static void ev_request_free(REQUEST **prequest)
+{
+       REQUEST *request;
+       
+       if (!prequest || !*prequest) return;
+
+       request = *prequest;
+
+#ifdef WITH_COA
+       if (request->coa) {
+               /*
+                *      Divorce the child from the parent first,
+                *      then clean up the child.
+                */
+               request->coa->parent = NULL;
+               ev_request_free(&request->coa);
+       }
+
+       /*
+        *      Divorce the parent from the child, and leave the
+        *      parent still alive.
+        */
+       if (request->parent && (request->parent->coa == request)) {
+               request->parent->coa = NULL;
+       }
+#endif
+
+       if (request->ev) fr_event_delete(el, &request->ev);
+#ifdef WITH_PROXY
+       if (request->in_proxy_hash) remove_from_proxy_hash(request);
+#endif
+       if (request->in_request_hash) remove_from_request_hash(request);
+
+       request_free(prequest);
+}
+
 #ifdef WITH_PROXY
 static REQUEST *lookup_in_proxy_hash(RADIUS_PACKET *reply)
 {
@@ -241,42 +277,6 @@ static void remove_from_proxy_hash(REQUEST *request)
 }
 #endif /* WITH_PROXY */
 
-static void ev_request_free(REQUEST **prequest)
-{
-       REQUEST *request;
-       
-       if (!prequest || !*prequest) return;
-
-       request = *prequest;
-
-#ifdef WITH_COA
-       if (request->coa) {
-               /*
-                *      Divorce the child from the parent first,
-                *      then clean up the child.
-                */
-               request->coa->parent = NULL;
-               ev_request_free(&request->coa);
-       }
-
-       /*
-        *      Divorce the parent from the child, and leave the
-        *      parent still alive.
-        */
-       if (request->parent && (request->parent->coa == request)) {
-               request->parent->coa = NULL;
-       }
-#endif
-
-       if (request->ev) fr_event_delete(el, &request->ev);
-#ifdef WITH_PROXY
-       if (request->in_proxy_hash) remove_from_proxy_hash(request);
-#endif
-       if (request->in_request_hash) remove_from_request_hash(request);
-
-       request_free(prequest);
-}
-
 #ifdef WITH_TCP
 static int remove_all_requests(void *ctx, void *data)
 {