diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2013-09-04 20:48:28 +0400 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2013-09-04 20:48:28 +0400 |
commit | 48d96ced6ff6cea533d56d0d09129f6632a19e4d (patch) | |
tree | f3196223e3dd9173aaf91dff959498799c0e3ea2 /src | |
parent | 74b7a910137a99b5fb073e7c27858c019f96a8cc (diff) | |
download | nginx-48d96ced6ff6cea533d56d0d09129f6632a19e4d.tar.gz nginx-48d96ced6ff6cea533d56d0d09129f6632a19e4d.zip |
Win32: MinGW GCC compatibility.
Several warnings silenced, notably (ngx_socket_t) -1 is now checked
on socket operations instead of -1, as ngx_socket_t is unsigned on win32
and gcc complains on comparison.
With this patch, it's now possible to compile nginx using mingw gcc,
with options we normally compile on win32.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ngx_connection.c | 6 | ||||
-rw-r--r-- | src/core/ngx_cycle.c | 6 | ||||
-rw-r--r-- | src/core/ngx_resolver.c | 2 | ||||
-rw-r--r-- | src/event/modules/ngx_iocp_module.c | 2 | ||||
-rw-r--r-- | src/event/modules/ngx_win32_select_module.c | 4 | ||||
-rw-r--r-- | src/event/ngx_event_accept.c | 2 | ||||
-rw-r--r-- | src/event/ngx_event_acceptex.c | 2 | ||||
-rw-r--r-- | src/event/ngx_event_connect.c | 2 | ||||
-rw-r--r-- | src/event/ngx_event_pipe.c | 6 | ||||
-rw-r--r-- | src/os/win32/ngx_atomic.h | 3 | ||||
-rw-r--r-- | src/os/win32/ngx_process_cycle.c | 4 | ||||
-rw-r--r-- | src/os/win32/ngx_win32_config.h | 7 | ||||
-rw-r--r-- | src/os/win32/ngx_win32_init.c | 2 | ||||
-rw-r--r-- | src/os/win32/ngx_wsarecv.c | 4 |
14 files changed, 31 insertions, 21 deletions
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index e12d3efc0..28bf6ba06 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -297,7 +297,7 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) continue; } - if (ls[i].fd != -1) { + if (ls[i].fd != (ngx_socket_t) -1) { continue; } @@ -312,7 +312,7 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, 0); - if (s == -1) { + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, ngx_socket_n " %V failed", &ls[i].addr_text); return NGX_ERROR; @@ -863,7 +863,7 @@ ngx_close_connection(ngx_connection_t *c) ngx_uint_t log_error, level; ngx_socket_t fd; - if (c->fd == -1) { + if (c->fd == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_ALERT, c->log, 0, "connection already closed"); return; } diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c index 2c006bcb2..eb39ab253 100644 --- a/src/core/ngx_cycle.c +++ b/src/core/ngx_cycle.c @@ -543,7 +543,7 @@ ngx_init_cycle(ngx_cycle_t *old_cycle) } } - if (nls[n].fd == -1) { + if (nls[n].fd == (ngx_socket_t) -1) { nls[n].open = 1; } } @@ -649,7 +649,7 @@ old_shm_zone_done: ls = old_cycle->listening.elts; for (i = 0; i < old_cycle->listening.nelts; i++) { - if (ls[i].remain || ls[i].fd == -1) { + if (ls[i].remain || ls[i].fd == (ngx_socket_t) -1) { continue; } @@ -813,7 +813,7 @@ failed: ls = cycle->listening.elts; for (i = 0; i < cycle->listening.nelts; i++) { - if (ls[i].fd == -1 || !ls[i].open) { + if (ls[i].fd == (ngx_socket_t) -1 || !ls[i].open) { continue; } diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index d59d0c471..d94477a9c 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -2221,7 +2221,7 @@ ngx_udp_connect(ngx_udp_connection_t *uc) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &uc->log, 0, "UDP socket %d", s); - if (s == -1) { + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_ALERT, &uc->log, ngx_socket_errno, ngx_socket_n " failed"); return NGX_ERROR; diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c index bcaf71f6d..787e22d80 100644 --- a/src/event/modules/ngx_iocp_module.c +++ b/src/event/modules/ngx_iocp_module.c @@ -170,7 +170,7 @@ ngx_iocp_timer(void *data) #endif } -#ifdef __WATCOMC__ +#if defined(__WATCOMC__) || defined(__GNUC__) return 0; #endif } diff --git a/src/event/modules/ngx_win32_select_module.c b/src/event/modules/ngx_win32_select_module.c index 0a02ffca0..eb5382d4e 100644 --- a/src/event/modules/ngx_win32_select_module.c +++ b/src/event/modules/ngx_win32_select_module.c @@ -148,8 +148,8 @@ ngx_select_add_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) return NGX_ERROR; } - if ((event == NGX_READ_EVENT) && (max_read >= FD_SETSIZE) - || (event == NGX_WRITE_EVENT) && (max_write >= FD_SETSIZE)) + if ((event == NGX_READ_EVENT && max_read >= FD_SETSIZE) + || (event == NGX_WRITE_EVENT && max_write >= FD_SETSIZE)) { ngx_log_error(NGX_LOG_ERR, ev->log, 0, "maximum number of descriptors " diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 6f571f1a8..b1145446a 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -70,7 +70,7 @@ ngx_event_accept(ngx_event_t *ev) s = accept(lc->fd, (struct sockaddr *) sa, &socklen); #endif - if (s == -1) { + if (s == (ngx_socket_t) -1) { err = ngx_socket_errno; if (err == NGX_EAGAIN) { diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c index b7c4134b1..1fde03105 100644 --- a/src/event/ngx_event_acceptex.c +++ b/src/event/ngx_event_acceptex.c @@ -108,7 +108,7 @@ ngx_event_post_acceptex(ngx_listening_t *ls, ngx_uint_t n) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &ls->log, 0, ngx_socket_n " s:%d", s); - if (s == -1) { + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_ALERT, &ls->log, ngx_socket_errno, ngx_socket_n " failed"); diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c index e6ae6564e..fddad0a92 100644 --- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -31,7 +31,7 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, pc->log, 0, "socket %d", s); - if (s == -1) { + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, ngx_socket_n " failed"); return NGX_ERROR; diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c index 4ef9b7103..6f685a9ed 100644 --- a/src/event/ngx_event_pipe.c +++ b/src/event/ngx_event_pipe.c @@ -57,7 +57,7 @@ ngx_event_pipe(ngx_event_pipe_t *p, ngx_int_t do_write) do_write = 1; } - if (p->upstream->fd != -1) { + if (p->upstream->fd != (ngx_socket_t) -1) { rev = p->upstream->read; flags = (rev->eof || rev->error) ? NGX_CLOSE_EVENT : 0; @@ -74,7 +74,9 @@ ngx_event_pipe(ngx_event_pipe_t *p, ngx_int_t do_write) } } - if (p->downstream->fd != -1 && p->downstream->data == p->output_ctx) { + if (p->downstream->fd != (ngx_socket_t) -1 + && p->downstream->data == p->output_ctx) + { wev = p->downstream->write; if (ngx_handle_write_event(wev, p->send_lowat) != NGX_OK) { return NGX_ABORT; diff --git a/src/os/win32/ngx_atomic.h b/src/os/win32/ngx_atomic.h index 78d7424f5..d89a0d3ca 100644 --- a/src/os/win32/ngx_atomic.h +++ b/src/os/win32/ngx_atomic.h @@ -21,7 +21,8 @@ typedef volatile ngx_atomic_uint_t ngx_atomic_t; #define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) -#if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) || ( _MSC_VER >= 1300 ) +#if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) || defined(__GNUC__) \ + || ( _MSC_VER >= 1300 ) /* the new SDK headers */ diff --git a/src/os/win32/ngx_process_cycle.c b/src/os/win32/ngx_process_cycle.c index 3a14aad69..949ea85db 100644 --- a/src/os/win32/ngx_process_cycle.c +++ b/src/os/win32/ngx_process_cycle.c @@ -815,7 +815,7 @@ ngx_worker_thread(void *data) /* THREAD: lock */ - if (c[i].fd != -1 && c[i].idle) { + if (c[i].fd != (ngx_socket_t) -1 && c[i].idle) { c[i].close = 1; c[i].read->handler(c[i].read); } @@ -874,7 +874,7 @@ ngx_worker_process_exit(ngx_cycle_t *cycle) if (ngx_exiting) { c = cycle->connections; for (i = 0; i < cycle->connection_n; i++) { - if (c[i].fd != -1 + if (c[i].fd != (ngx_socket_t) -1 && c[i].read && !c[i].read->accept && !c[i].read->channel diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h index 193079230..67105f1af 100644 --- a/src/os/win32/ngx_win32_config.h +++ b/src/os/win32/ngx_win32_config.h @@ -9,6 +9,7 @@ #define _NGX_WIN32_CONFIG_H_INCLUDED_ +#undef WIN32 #define WIN32 0x0400 #define _WIN32_WINNT 0x0501 @@ -35,6 +36,12 @@ #include <mswsock.h> #include <shellapi.h> #include <stddef.h> /* offsetof() */ + +#ifdef __GNUC__ +/* GCC MinGW's stdio.h includes sys/types.h */ +#define _OFF_T_ +#endif + #include <stdio.h> #include <stdlib.h> #include <stdarg.h> diff --git a/src/os/win32/ngx_win32_init.c b/src/os/win32/ngx_win32_init.c index cf73d8215..d2505ced4 100644 --- a/src/os/win32/ngx_win32_init.c +++ b/src/os/win32/ngx_win32_init.c @@ -141,7 +141,7 @@ ngx_os_init(ngx_log_t *log) */ s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP); - if (s == -1) { + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, ngx_socket_n " falied"); return NGX_ERROR; diff --git a/src/os/win32/ngx_wsarecv.c b/src/os/win32/ngx_wsarecv.c index dd74ae2cc..1925f0b17 100644 --- a/src/os/win32/ngx_wsarecv.c +++ b/src/os/win32/ngx_wsarecv.c @@ -17,7 +17,7 @@ ngx_wsarecv(ngx_connection_t *c, u_char *buf, size_t size) u_long bytes, flags; WSABUF wsabuf[1]; ngx_err_t err; - ngx_uint_t n; + ngx_int_t n; ngx_event_t *rev; wsabuf[0].buf = (char *) buf; @@ -70,7 +70,7 @@ ngx_overlapped_wsarecv(ngx_connection_t *c, u_char *buf, size_t size) u_long bytes, flags; WSABUF wsabuf[1]; ngx_err_t err; - ngx_uint_t n; + ngx_int_t n; ngx_event_t *rev; LPWSAOVERLAPPED ovlp; |