nginx-0.3.7-RELEASE import
*) Feature: the "access_log" supports the "buffer=" parameter.
*) Bugfix: nginx could not be built on platforms different from i386,
amd64, sparc, and ppc; the bug had appeared in 0.3.2.
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h
index 3dfce74..50d6354 100644
--- a/src/os/unix/ngx_atomic.h
+++ b/src/os/unix/ngx_atomic.h
@@ -154,7 +154,7 @@
ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old,
ngx_atomic_uint_t set)
{
- if (*lock == old {
+ if (*lock == old) {
*lock = set;
return 1;
}
@@ -174,8 +174,9 @@
return old;
}
-#endif
+#define ngx_memory_barrier()
+#endif
void ngx_spinlock(ngx_atomic_t *lock, ngx_uint_t spin);
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index 57f53eb..a361fe4 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -44,7 +44,6 @@
ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset);
#define ngx_read_file_n "read()"
-
ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size,
off_t offset);
@@ -52,6 +51,11 @@
off_t offset, ngx_pool_t *pool);
+#define ngx_write_fd write
+#define ngx_linefeed(p) *p++ = LF;
+#define NGX_LINEFEED_SIZE 1
+
+
#define ngx_rename_file rename
#define ngx_rename_file_n "rename"
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index f4ec06f..e0f967f 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -276,6 +276,13 @@
ngx_process_events_and_timers(cycle);
if (ngx_terminate || ngx_quit) {
+
+ for (i = 0; ngx_modules[i]; i++) {
+ if (ngx_modules[i]->exit_process) {
+ ngx_modules[i]->exit_process(cycle);
+ }
+ }
+
ngx_master_exit(cycle);
}
@@ -623,10 +630,18 @@
static void
ngx_master_exit(ngx_cycle_t *cycle)
{
+ ngx_uint_t i;
+
ngx_delete_pidfile(cycle);
ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit");
+ for (i = 0; ngx_modules[i]; i++) {
+ if (ngx_modules[i]->exit_master) {
+ ngx_modules[i]->exit_master(cycle);
+ }
+ }
+
/*
* we do not destroy cycle->pool here because a signal handler
* that uses cycle->log can be called at this point
@@ -735,6 +750,12 @@
ngx_wakeup_worker_threads(cycle);
#endif
+ for (i = 0; ngx_modules[i]; i++) {
+ if (ngx_modules[i]->exit_process) {
+ ngx_modules[i]->exit_process(cycle);
+ }
+ }
+
c = cycle->connections;
for (i = 0; i < cycle->connection_n; i++) {
if (c[i].fd != -1