CORE_LIBS="$CORE_LIBS -pthread"
;;
+ linuxthreads)
+ have=NGX_THREADS . auto/have
+ have=NGX_LINUXTHREADS . auto/have
+ CFLAGS="$CFLAGS -D_THREAD_SAFE"
+ CFLAGS="$CFLAGS -I /usr/local/include/pthread/linuxthreads"
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -L /usr/local/lib -llthread -llgcc_r"
+ ;;
+
lc_r)
have=NGX_THREADS . auto/have
CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
#define NGX_TERMINATE_SIGNAL TERM
#define NGX_NOACCEPT_SIGNAL WINCH
#define NGX_RECONFIGURE_SIGNAL HUP
+
+#if (NGX_LINUXTHREADS)
+#define NGX_REOPEN_SIGNAL INFO
+#define NGX_CHANGEBIN_SIGNAL XCPU
+#else
#define NGX_REOPEN_SIGNAL USR1
#define NGX_CHANGEBIN_SIGNAL USR2
+#endif
#endif
if (signo == -1) {
err = ngx_errno;
+ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, err,
+ "rtsig signo:%d", signo);
+
if (err == NGX_EAGAIN) {
if (timer == NGX_TIMER_INFINITE) {
} else {
err = 0;
+ ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
+ "rtsig signo:%d fd:%d band:%X",
+ signo, si.si_fd, si.si_band);
}
ngx_gettimeofday(&tv);
"rtsig timer: %d, delta: %d", timer, (int) delta);
}
- ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
- "rtsig signo:%d fd:%d band:%X", signo, si.si_fd, si.si_band);
-
rtscf = ngx_event_get_conf(ngx_cycle->conf_ctx, ngx_rtsig_module);
if (signo == rtscf->signo || signo == rtscf->signo + 1) {
return (void *) 1;
}
- ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, ngx_errno,
+ ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0,
"thread " TID_T_FMT " started", ngx_thread_self());
ngx_setthrtitle("worker thread");
#define ngx_thread_self() pthread_self()
#define ngx_log_tid (int) ngx_thread_self()
+#if defined(__FreeBSD__) && !defined(NGX_LINUXTHREADS)
#define TID_T_FMT PTR_FMT
+#else
+#define TID_T_FMT "%d"
+#endif
typedef pthread_key_t ngx_tls_key_t;