]> granicus.if.org Git - apache/commitdiff
Be proactively safe. A cheap check, but helps prevents badness :)
authorJim Jagielski <jim@apache.org>
Wed, 5 Sep 2007 12:22:15 +0000 (12:22 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 5 Sep 2007 12:22:15 +0000 (12:22 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@572937 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.h

index a6a8ecc30b3029b8581caa9be274b7b046eeb9e6..32e031315528528318bab219704d658df1271860 100644 (file)
@@ -263,14 +263,16 @@ struct proxy_conn_pool {
 #define PROXY_WORKER_NOT_USABLE_BITMAP ( PROXY_WORKER_IN_SHUTDOWN | \
 PROXY_WORKER_DISABLED | PROXY_WORKER_STOPPED | PROXY_WORKER_IN_ERROR )
 
-#define PROXY_WORKER_IS_INITIALIZED(f)   ( (f)->s->status & \
-  PROXY_WORKER_INITIALIZED )
+/* NOTE: these check the shared status */
+#define PROXY_WORKER_IS_INITIALIZED(f)   ( (f)->s && \
+  ( (f)->s->status &  PROXY_WORKER_INITIALIZED ) )
 
-#define PROXY_WORKER_IS_STANDBY(f)   ( (f)->s->status & \
-  PROXY_WORKER_HOT_STANDBY )
+#define PROXY_WORKER_IS_STANDBY(f)   ( (f)->s && \
+  ( (f)->s->status &  PROXY_WORKER_HOT_STANDBY ) )
 
-#define PROXY_WORKER_IS_USABLE(f)   ( !((f)->s->status & \
-  (PROXY_WORKER_NOT_USABLE_BITMAP)) && PROXY_WORKER_IS_INITIALIZED(f) )
+#define PROXY_WORKER_IS_USABLE(f)   ( (f)->s && \
+  ( !( (f)->s->status & PROXY_WORKER_NOT_USABLE_BITMAP) ) && \
+  PROXY_WORKER_IS_INITIALIZED(f) )
 
 /* default worker retry timeout in seconds */
 #define PROXY_WORKER_DEFAULT_RETRY  60