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