diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2023-01-22 20:09:04 -0500 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2023-05-03 23:11:34 -0400 |
commit | cf85bc56dfe751d55ed0ea7d3eda46ef0cc0a6d5 (patch) | |
tree | f65614601d11dfd247e996d84d9c19e1db518f3f | |
parent | bbb54cf1bf81b979ef9fdfbf978ffd57813817e4 (diff) | |
download | lighttpd-git-cf85bc56dfe751d55ed0ea7d3eda46ef0cc0a6d5.tar.gz |
[core] _WIN32 use log_serror() for WSAGetLastError
-rw-r--r-- | src/connections.c | 9 | ||||
-rw-r--r-- | src/fdevent_impl.c | 4 | ||||
-rw-r--r-- | src/gw_backend.c | 25 | ||||
-rw-r--r-- | src/http-header-glue.c | 2 | ||||
-rw-r--r-- | src/mod_cgi.c | 4 | ||||
-rw-r--r-- | src/network.c | 36 | ||||
-rw-r--r-- | src/network_write.c | 7 |
7 files changed, 44 insertions, 43 deletions
diff --git a/src/connections.c b/src/connections.c index 9425c9c7..a4b5fe5d 100644 --- a/src/connections.c +++ b/src/connections.c @@ -91,7 +91,7 @@ static void connection_close(connection *con) { if (0 == fdio_close_socket(con->fd)) --srv->cur_fds; else - log_perror(r->conf.errh, __FILE__, __LINE__, + log_serror(r->conf.errh, __FILE__, __LINE__, "(warning) close: %d", con->fd); if (r->conf.log_state_handling) { @@ -865,8 +865,7 @@ __attribute_cold__ static int connection_read_cq_err(connection *con) { request_st * const r = &con->request; #ifdef _WIN32 - int lastError = WSAGetLastError(); - switch (lastError) { + switch (WSAGetLastError()) { case WSAEWOULDBLOCK: return 0; case WSAEINTR: @@ -877,8 +876,8 @@ static int connection_read_cq_err(connection *con) { /* suppress logging for this error, expected for keep-alive */ break; default: - log_error(r->conf.errh, __FILE__, __LINE__, - "connection closed - recv failed: %d", lastError); + log_serror(r->conf.errh, __FILE__, __LINE__, + "connection closed - recv failed"); break; } #else diff --git a/src/fdevent_impl.c b/src/fdevent_impl.c index 78576ab2..a3a1f66b 100644 --- a/src/fdevent_impl.c +++ b/src/fdevent_impl.c @@ -287,7 +287,7 @@ fdevent_sched_run (fdevents * const ev) #else if (0 != close(fd)) #endif - log_perror(ev->errh, __FILE__, __LINE__, "close failed %d", fd); + log_serror(ev->errh, __FILE__, __LINE__, "close() %d", fd); else --(*ev->cur_fds); @@ -314,7 +314,7 @@ fdevent_poll (fdevents * const ev, const int timeout_ms) if (n >= 0) fdevent_sched_run(ev); else if (errno != EINTR) - log_perror(ev->errh, __FILE__, __LINE__, "fdevent_poll failed"); + log_serror(ev->errh, __FILE__, __LINE__, "fdevent_poll()"); return n; } diff --git a/src/gw_backend.c b/src/gw_backend.c index 02bf9162..5bb654f1 100644 --- a/src/gw_backend.c +++ b/src/gw_backend.c @@ -272,8 +272,13 @@ __attribute_cold__ static void gw_proc_connect_error(request_st * const r, gw_host *host, gw_proc *proc, pid_t pid, int errnum, int debug) { const unix_time64_t cur_ts = log_monotonic_secs; log_error_st * const errh = r->conf.errh; - errno = errnum; /*(for log_perror())*/ - log_perror(errh, __FILE__, __LINE__, + #ifdef _WIN32 + WSASetLastError(errnum); /*(for log_perror()/log_serror())*/ + if (errnum == WSAEWOULDBLOCK) errnum = EAGAIN; + #else + errno = errnum; /*(for log_perror()/log_serror())*/ + #endif + log_serror(errh, __FILE__, __LINE__, "establishing connection failed: socket: %s", proc->connection_name->ptr); if (!proc->is_local) { @@ -500,7 +505,7 @@ static int gw_spawn_connection(gw_host * const host, gw_proc * const proc, log_e gw_fd = fdevent_socket_cloexec(proc->saddr->sa_family, SOCK_STREAM, 0); if (-1 == gw_fd) { - log_perror(errh, __FILE__, __LINE__, "socket()"); + log_serror(errh, __FILE__, __LINE__, "socket()"); return -1; } @@ -517,8 +522,8 @@ static int gw_spawn_connection(gw_host * const host, gw_proc * const proc, log_e * or might not indicate presence of socket, so try to unlink unixsocket */ if (-1 == status && errno != ENOENT && proc->unixsocket) { - log_perror(errh, __FILE__, __LINE__, - "connect %s", proc->unixsocket->ptr); + log_serror(errh, __FILE__, __LINE__, + "connect() %s", proc->unixsocket->ptr); unlink(proc->unixsocket->ptr); } @@ -540,26 +545,26 @@ static int gw_spawn_connection(gw_host * const host, gw_proc * const proc, log_e gw_fd = fdevent_socket_cloexec(proc->saddr->sa_family, SOCK_STREAM, 0); #endif if (-1 == gw_fd) { - log_perror(errh, __FILE__, __LINE__, "socket()"); + log_serror(errh, __FILE__, __LINE__, "socket()"); return -1; } if (fdevent_set_so_reuseaddr(gw_fd, 1) < 0) { - log_perror(errh, __FILE__, __LINE__, "socketsockopt()"); + log_serror(errh, __FILE__, __LINE__, "socketsockopt()"); fdio_close_socket(gw_fd); return -1; } /* create socket */ if (-1 == bind(gw_fd, proc->saddr, proc->saddrlen)) { - log_perror(errh, __FILE__, __LINE__, - "bind failed for: %s", proc->connection_name->ptr); + log_serror(errh, __FILE__, __LINE__, + "bind() %s", proc->connection_name->ptr); fdio_close_socket(gw_fd); return -1; } if (-1 == listen(gw_fd, host->listen_backlog)) { - log_perror(errh, __FILE__, __LINE__, "listen()"); + log_serror(errh, __FILE__, __LINE__, "listen()"); fdio_close_socket(gw_fd); return -1; } diff --git a/src/http-header-glue.c b/src/http-header-glue.c index ef48fa6e..3c36e1d0 100644 --- a/src/http-header-glue.c +++ b/src/http-header-glue.c @@ -1325,7 +1325,7 @@ handler_t http_response_read(request_st * const r, http_response_opts * const op } __attribute_fallthrough__ default: - log_perror(r->conf.errh, __FILE__, __LINE__, + log_serror(r->conf.errh, __FILE__, __LINE__, "recv() %d %d", r->con->fd, fd); return HANDLER_ERROR; } diff --git a/src/mod_cgi.c b/src/mod_cgi.c index 2395cf6e..aa9f400b 100644 --- a/src/mod_cgi.c +++ b/src/mod_cgi.c @@ -836,14 +836,14 @@ static int cgi_create_env(request_st * const r, plugin_data * const p, handler_c #ifdef _WIN32 if (0 != fdevent_socketpair_cloexec(AF_INET,SOCK_STREAM,0,from_cgi_fds)) { - log_perror(r->conf.errh, __FILE__, __LINE__, "socketpair()"); + log_serror(r->conf.errh, __FILE__, __LINE__, "socketpair()"); if (0 == r->reqbody_length) fdio_close_file(to_cgi_fds[0]); return -1; } if (-1 == to_cgi_fds[0]) { if (0 != fdevent_socketpair_cloexec(AF_INET,SOCK_STREAM,0,to_cgi_fds)) { - log_perror(r->conf.errh, __FILE__, __LINE__, "socketpair()"); + log_serror(r->conf.errh, __FILE__, __LINE__, "socketpair()"); fdio_close_socket(from_cgi_fds[0]); fdio_close_socket(from_cgi_fds[1]); return -1; diff --git a/src/network.c b/src/network.c index e6ef4ef7..669750c2 100644 --- a/src/network.c +++ b/src/network.c @@ -97,8 +97,7 @@ static handler_t network_server_handle_fdevent(void *context, int revents) { if (loops) { #ifdef _WIN32 - const int lastError = WSAGetLastError(); - switch (lastError) { + switch (WSAGetLastError()) { case WSAEWOULDBLOCK: case WSAECONNRESET: case WSAENOBUFS: @@ -107,7 +106,7 @@ static handler_t network_server_handle_fdevent(void *context, int revents) { case WSAEMFILE: break; default: - log_error(srv->errh, __FILE__, __LINE__, "accept(): %d", lastError); + log_serror(srv->errh, __FILE__, __LINE__, "accept()"); } #else switch (errno) { @@ -419,7 +418,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff memset(&addr, 0, sizeof(addr)); if (-1 != stdin_fd) { if (-1 == getsockname(stdin_fd, (struct sockaddr *)&addr, &addr_len)) { - log_perror(srv->errh, __FILE__, __LINE__, "getsockname()"); + log_serror(srv->errh, __FILE__, __LINE__, "getsockname()"); return -1; } } else if (0 != network_host_parse_addr(srv, &addr, &addr_len, host_token, use_ipv6)) { @@ -488,7 +487,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff if (-1 != stdin_fd) { srv_socket->fd = stdin_fd; if (-1 == fdevent_socket_set_nb_cloexec(stdin_fd)) { - log_perror(srv->errh, __FILE__, __LINE__, "fcntl()"); + log_serror(srv->errh, __FILE__, __LINE__, "fcntl()"); return -1; } } else @@ -497,7 +496,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff /* check if the socket exists and try to connect to it. */ force_assert(host); /*(static analysis hint)*/ if (-1 == (srv_socket->fd = fdevent_socket_cloexec(AF_UNIX, SOCK_STREAM, 0))) { - log_perror(srv->errh, __FILE__, __LINE__, "socket"); + log_serror(srv->errh, __FILE__, __LINE__, "socket()"); return -1; } if (0 == connect(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len)) { @@ -515,7 +514,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff if (*host == '/') unlink(host); break; default: - log_error(srv->errh, __FILE__, __LINE__, + log_serror(srv->errh, __FILE__, __LINE__, "testing socket failed: connect() %s", host); return -1; } @@ -527,21 +526,21 @@ static int network_server_init(server *srv, const network_socket_config *s, buff case ENOENT: break; default: - log_perror(srv->errh, __FILE__, __LINE__, - "testing socket failed: %s", host); + log_serror(srv->errh, __FILE__, __LINE__, + "testing socket failed: connect() %s", host); return -1; } #endif if (-1 == fdevent_socket_set_nb(srv_socket->fd)) { - log_perror(srv->errh, __FILE__, __LINE__, "fcntl()"); + log_serror(srv->errh, __FILE__, __LINE__, "fcntl()"); return -1; } } else #endif { if (-1 == (srv_socket->fd = fdevent_socket_nb_cloexec(family, SOCK_STREAM, IPPROTO_TCP))) { - log_perror(srv->errh, __FILE__, __LINE__, "socket"); + log_serror(srv->errh, __FILE__, __LINE__, "socket()"); return -1; } @@ -549,7 +548,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff if (set_v6only) { int val = (set_v6only > 0); if (-1 == setsockopt(srv_socket->fd, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof(val))) { - log_perror(srv->errh, __FILE__, __LINE__, "setsockopt(IPV6_V6ONLY)"); + log_serror(srv->errh, __FILE__, __LINE__, "setsockopt(IPV6_V6ONLY)"); return -1; } } @@ -563,21 +562,20 @@ static int network_server_init(server *srv, const network_socket_config *s, buff #endif if (fdevent_set_so_reuseaddr(srv_socket->fd, 1) < 0) { - log_perror(srv->errh, __FILE__, __LINE__, "setsockopt(SO_REUSEADDR)"); + log_serror(srv->errh, __FILE__, __LINE__, "setsockopt(SO_REUSEADDR)"); return -1; } if (family != AF_UNIX) { if (fdevent_set_tcp_nodelay(srv_socket->fd, 1) < 0) { - log_perror(srv->errh, __FILE__, __LINE__, "setsockopt(TCP_NODELAY)"); + log_serror(srv->errh, __FILE__, __LINE__, "setsockopt(TCP_NODELAY)"); return -1; } } if (-1 != stdin_fd) { } else if (0 != bind(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len)) { - log_perror(srv->errh, __FILE__, __LINE__, - "can't bind to socket: %s", host); + log_serror(srv->errh, __FILE__, __LINE__, "bind() %s", host); return -1; } @@ -599,7 +597,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff if (-1 != stdin_fd) { } else if (-1 == listen(srv_socket->fd, s->listen_backlog)) { - log_perror(srv->errh, __FILE__, __LINE__, "listen"); + log_serror(srv->errh, __FILE__, __LINE__, "listen()"); return -1; } @@ -609,7 +607,7 @@ static int network_server_init(server *srv, const network_socket_config *s, buff else if (s->defer_accept) { int v = s->defer_accept; if (-1 == setsockopt(srv_socket->fd, IPPROTO_TCP, TCP_DEFER_ACCEPT, &v, sizeof(v))) { - log_perror(srv->errh, __FILE__, __LINE__, "can't set TCP_DEFER_ACCEPT"); + log_serror(srv->errh, __FILE__, __LINE__, "setsockopt(TCP_DEFER_ACCEPT)"); } } #endif @@ -721,7 +719,7 @@ static int network_socket_activation_nfds(server *srv, const network_socket_conf for (int fd = 3; fd < nfds; ++fd) { addr_len = sizeof(sock_addr); if (-1 == (rc = getsockname(fd, (struct sockaddr *)&addr, &addr_len))) { - log_perror(srv->errh, __FILE__, __LINE__, + log_serror(srv->errh, __FILE__, __LINE__, "socket activation getsockname()"); break; } diff --git a/src/network_write.c b/src/network_write.c index 2daa4e79..07aee803 100644 --- a/src/network_write.c +++ b/src/network_write.c @@ -84,8 +84,7 @@ __attribute_cold__ static int network_write_error(int fd, log_error_st *errh) { #ifdef _WIN32 - int lastError = WSAGetLastError(); - switch (lastError) { + switch (WSAGetLastError()) { case WSAEINTR: case WSAEWOULDBLOCK: return -3; @@ -94,7 +93,7 @@ static int network_write_error(int fd, log_error_st *errh) { case WSAECONNABORTED: return -2; default: - log_error(errh,__FILE__,__LINE__,"send failed: %d %d",lastError,fd); + log_serror(errh, __FILE__, __LINE__, "send() %d", fd); return -1; } #else @@ -106,7 +105,7 @@ static int network_write_error(int fd, log_error_st *errh) { case ECONNRESET: return -2; default: - log_perror(errh,__FILE__,__LINE__,"write failed: %d",fd); + log_perror(errh, __FILE__, __LINE__, "write() %d", fd); return -1; } #endif |