aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-10-07 13:30:52 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-10-07 13:30:52 +0000
commit208eed22101e987a370036fa3851ce81c088c599 (patch)
tree40f2aa55bb0415eef08415373d380577eb18561f /src/os/unix
parent12b7a12a2d2cbf4a98a23c2d6c0c06ff588d2d70 (diff)
downloadnginx-release-0.3.0.tar.gz
nginx-release-0.3.0.zip
nginx-0.3.0-RELEASE importrelease-0.3.0
*) Change: the 10-days live time limit of worker process was eliminated. The limit was introduced because of millisecond timers overflow.
Diffstat (limited to 'src/os/unix')
-rw-r--r--src/os/unix/ngx_posix_init.c4
-rw-r--r--src/os/unix/ngx_process.c5
-rw-r--r--src/os/unix/ngx_process_cycle.c43
-rw-r--r--src/os/unix/ngx_process_cycle.h1
-rw-r--r--src/os/unix/ngx_time.h40
5 files changed, 25 insertions, 68 deletions
diff --git a/src/os/unix/ngx_posix_init.c b/src/os/unix/ngx_posix_init.c
index 97aa8761f..f20f44cec 100644
--- a/src/os/unix/ngx_posix_init.c
+++ b/src/os/unix/ngx_posix_init.c
@@ -67,6 +67,10 @@ ngx_os_status(ngx_log_t *log)
{
ngx_log_error(NGX_LOG_NOTICE, log, 0, NGINX_VER);
+#ifdef NGX_COMPILER
+ ngx_log_error(NGX_LOG_NOTICE, log, 0, "built by " NGX_COMPILER);
+#endif
+
#if (NGX_HAVE_OS_SPECIFIC_INIT)
ngx_os_specific_status(log);
#endif
diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c
index 7f25f91d9..07a7c66f5 100644
--- a/src/os/unix/ngx_process.c
+++ b/src/os/unix/ngx_process.c
@@ -354,11 +354,6 @@ ngx_signal_handler(int signo)
break;
case SIGALRM:
- if (!ngx_terminate) {
- ngx_timer = 1;
- action = ", shutting down old worker processes";
- }
-
break;
case SIGIO:
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 034b09f7e..97475e60d 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -33,7 +33,6 @@ ngx_pid_t ngx_pid;
ngx_uint_t ngx_threaded;
sig_atomic_t ngx_reap;
-sig_atomic_t ngx_timer;
sig_atomic_t ngx_sigio;
sig_atomic_t ngx_terminate;
sig_atomic_t ngx_quit;
@@ -194,19 +193,6 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
continue;
}
- if (ngx_timer) {
- ngx_timer = 0;
-
- if (!ngx_noaccepting) {
- ngx_start_worker_processes(cycle, ccf->worker_processes,
- NGX_PROCESS_JUST_RESPAWN);
- ngx_start_garbage_collector(cycle, NGX_PROCESS_JUST_RESPAWN);
- live = 1;
- ngx_signal_worker_processes(cycle,
- ngx_signal_value(NGX_SHUTDOWN_SIGNAL));
- }
- }
-
if (ngx_reconfigure) {
ngx_reconfigure = 0;
@@ -320,9 +306,8 @@ ngx_single_process_cycle(ngx_cycle_t *cycle)
static void
ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type)
{
- ngx_int_t i;
- ngx_channel_t ch;
- struct itimerval itv;
+ ngx_int_t i;
+ ngx_channel_t ch;
ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "start worker processes");
@@ -357,22 +342,6 @@ ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type)
&ch, sizeof(ngx_channel_t), cycle->log);
}
}
-
- /*
- * we have to limit the maximum life time of the worker processes
- * by 10 days because our millisecond event timer is limited
- * by 24 days on 32-bit platforms
- */
-
- itv.it_interval.tv_sec = 0;
- itv.it_interval.tv_usec = 0;
- itv.it_value.tv_sec = 10 * 24 * 60 * 60;
- itv.it_value.tv_usec = 0;
-
- if (setitimer(ITIMER_REAL, &itv, NULL) == -1) {
- ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
- "setitimer() failed");
- }
}
@@ -811,17 +780,9 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_uint_t priority)
ngx_int_t n;
ngx_uint_t i;
struct rlimit rlmt;
- struct timeval tv;
ngx_core_conf_t *ccf;
ngx_listening_t *ls;
- ngx_gettimeofday(&tv);
-
- ngx_start_msec = (ngx_epoch_msec_t) tv.tv_sec * 1000 + tv.tv_usec / 1000;
- ngx_old_elapsed_msec = 0;
- ngx_elapsed_msec = 0;
-
-
ngx_process = NGX_PROCESS_WORKER;
ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
diff --git a/src/os/unix/ngx_process_cycle.h b/src/os/unix/ngx_process_cycle.h
index 7e22da26f..349a90202 100644
--- a/src/os/unix/ngx_process_cycle.h
+++ b/src/os/unix/ngx_process_cycle.h
@@ -37,7 +37,6 @@ extern ngx_uint_t ngx_threaded;
extern ngx_uint_t ngx_exiting;
extern sig_atomic_t ngx_reap;
-extern sig_atomic_t ngx_timer;
extern sig_atomic_t ngx_sigio;
extern sig_atomic_t ngx_quit;
extern sig_atomic_t ngx_debug_quit;
diff --git a/src/os/unix/ngx_time.h b/src/os/unix/ngx_time.h
index d3d176fda..63a0ad9f7 100644
--- a/src/os/unix/ngx_time.h
+++ b/src/os/unix/ngx_time.h
@@ -12,33 +12,31 @@
#include <ngx_core.h>
-typedef uint64_t ngx_epoch_msec_t;
+typedef ngx_rbtree_key_t ngx_msec_t;
-typedef ngx_int_t ngx_msec_t;
+typedef struct tm ngx_tm_t;
-typedef struct tm ngx_tm_t;
+#define ngx_tm_sec tm_sec
+#define ngx_tm_min tm_min
+#define ngx_tm_hour tm_hour
+#define ngx_tm_mday tm_mday
+#define ngx_tm_mon tm_mon
+#define ngx_tm_year tm_year
+#define ngx_tm_wday tm_wday
+#define ngx_tm_isdst tm_isdst
-#define ngx_tm_sec tm_sec
-#define ngx_tm_min tm_min
-#define ngx_tm_hour tm_hour
-#define ngx_tm_mday tm_mday
-#define ngx_tm_mon tm_mon
-#define ngx_tm_year tm_year
-#define ngx_tm_wday tm_wday
-#define ngx_tm_isdst tm_isdst
-
-#define ngx_tm_sec_t int
-#define ngx_tm_min_t int
-#define ngx_tm_hour_t int
-#define ngx_tm_mday_t int
-#define ngx_tm_mon_t int
-#define ngx_tm_year_t int
-#define ngx_tm_wday_t int
+#define ngx_tm_sec_t int
+#define ngx_tm_min_t int
+#define ngx_tm_hour_t int
+#define ngx_tm_mday_t int
+#define ngx_tm_mon_t int
+#define ngx_tm_year_t int
+#define ngx_tm_wday_t int
#if (NGX_HAVE_GMTOFF)
-#define ngx_tm_gmtoff tm_gmtoff
-#define ngx_tm_zone tm_zone
+#define ngx_tm_gmtoff tm_gmtoff
+#define ngx_tm_zone tm_zone
#endif