nginx-0.0.2-2004-02-26-20:10:01 import
diff --git a/src/os/unix/ngx_freebsd_rfork_thread.c b/src/os/unix/ngx_freebsd_rfork_thread.c
index 4ea8b4c..dd18168 100644
--- a/src/os/unix/ngx_freebsd_rfork_thread.c
+++ b/src/os/unix/ngx_freebsd_rfork_thread.c
@@ -21,6 +21,8 @@
  */
 
 
+ngx_int_t  ngx_threaded;
+
 static inline int ngx_gettid();
 
 
@@ -204,6 +206,8 @@
     /* allow the spinlock in libc malloc() */
     __isthreaded = 1;
 
+    ngx_threaded = 1;
+
     return NGX_OK;
 }
 
@@ -315,6 +319,10 @@
     ngx_uint_t     tries;
     struct sembuf  op;
 
+    if (!ngx_threaded) {
+        return NGX_OK;
+    }
+
 #if (NGX_DEBUG)
     if (try) {
         ngx_log_debug2(NGX_LOG_DEBUG_CORE, m->log, 0,
@@ -438,6 +446,10 @@
     uint32_t       lock, new, old;
     struct sembuf  op;
 
+    if (!ngx_threaded) {
+        return NGX_OK;
+    }
+
     old = m->lock;
 
     if (!(old & NGX_MUTEX_LOCK_BUSY)) {
diff --git a/src/os/unix/ngx_thread.h b/src/os/unix/ngx_thread.h
index 3ecc1e6..3961f32 100644
--- a/src/os/unix/ngx_thread.h
+++ b/src/os/unix/ngx_thread.h
@@ -60,6 +60,9 @@
 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m);
 
 
+extern ngx_int_t ngx_threaded;
+
+
 #else /* !NGX_THREADS */
 
 #define ngx_log_tid  0