You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2007/12/11 19:24:32 UTC
svn commit: r603320 - in /tomcat/connectors/trunk/jk/native:
common/jk_ajp12_worker.c common/jk_ajp_common.c common/jk_connect.c
common/jk_connect.h nt_service/jk_nt_service.c
Author: rjung
Date: Tue Dec 11 10:24:31 2007
New Revision: 603320
URL: http://svn.apache.org/viewvc?rev=603320&view=rev
Log:
Add logger to all jk_connect socket functions.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c
tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
tomcat/connectors/trunk/jk/native/common/jk_connect.c
tomcat/connectors/trunk/jk/native/common/jk_connect.h
tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c
Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c?rev=603320&r1=603319&r2=603320&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp12_worker.c Tue Dec 11 10:24:31 2007
@@ -160,7 +160,7 @@
if (e && *e && (*e)->endpoint_private) {
ajp12_endpoint_t *p = (*e)->endpoint_private;
if (IS_VALID_SOCKET(p->sd)) {
- jk_shutdown_socket(p->sd);
+ jk_shutdown_socket(p->sd, l);
}
free(p);
*e = NULL;
@@ -192,7 +192,7 @@
p->name, host, port);
if (port > 1024 && host) {
- if (jk_resolve(host, port, &p->worker_inet_addr)) {
+ if (jk_resolve(host, port, &p->worker_inet_addr, l)) {
return JK_TRUE;
}
jk_log(l, JK_LOG_ERROR,
Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=603320&r1=603319&r2=603320&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Tue Dec 11 10:24:31 2007
@@ -686,7 +686,7 @@
static void ajp_reset_endpoint(ajp_endpoint_t * ae, jk_logger_t *l)
{
if (IS_VALID_SOCKET(ae->sd) && !ae->reuse) {
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
if (JK_IS_DEBUG_LEVEL(l))
jk_log(l, JK_LOG_DEBUG,
"reset socket with sd = %u", ae->sd );
@@ -704,7 +704,7 @@
JK_TRACE_ENTER(l);
if (IS_VALID_SOCKET(ae->sd)) {
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
if (JK_IS_DEBUG_LEVEL(l))
jk_log(l, JK_LOG_DEBUG,
"closed socket with sd = %d", ae->sd);
@@ -744,7 +744,7 @@
JK_LEAVE_CS(&aw->cs, rc);
/* Close previous socket */
if (IS_VALID_SOCKET(sock))
- jk_shutdown_socket(sock);
+ jk_shutdown_socket(sock, l);
}
}
@@ -925,7 +925,7 @@
}
if ((rc = jk_tcp_socket_sendfull(ae->sd, msg->buf,
- msg->len)) > 0) {
+ msg->len, l)) > 0) {
ae->endpoint.wr += (jk_uint64_t)rc;
JK_TRACE_EXIT(l);
ae->last_errno = 0;
@@ -954,7 +954,7 @@
JK_TRACE_ENTER(l);
- rc = jk_tcp_socket_recvfull(ae->sd, head, AJP_HEADER_LEN);
+ rc = jk_tcp_socket_recvfull(ae->sd, head, AJP_HEADER_LEN, l);
if (rc < 0) {
ae->last_errno = errno;
@@ -1030,7 +1030,7 @@
msg->len = msglen;
msg->pos = 0;
- rc = jk_tcp_socket_recvfull(ae->sd, msg->buf, msglen);
+ rc = jk_tcp_socket_recvfull(ae->sd, msg->buf, msglen, l);
if (rc < 0) {
ae->last_errno = errno;
if (rc == JK_SOCKET_EOF) {
@@ -1210,11 +1210,11 @@
while (IS_VALID_SOCKET(ae->sd)) {
int rc = 0;
err = 0;
- if (!jk_is_socket_connected(ae->sd)) {
+ if (!jk_is_socket_connected(ae->sd, l)) {
jk_log(l, JK_LOG_DEBUG,
"(%s) socket %d is not connected any more (errno=%d)",
ae->worker->name, ae->sd, errno);
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
err = 1;
}
@@ -1261,7 +1261,7 @@
jk_log(l, JK_LOG_ERROR,
"(%s) error sending request. Unrecoverable operation",
ae->worker->name);
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
JK_TRACE_EXIT(l);
return JK_FALSE;
@@ -1310,7 +1310,7 @@
*/
if (ajp_connection_tcp_send_message(ae, op->request, l) != JK_TRUE) {
/* Close the socket if unable to send request */
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
jk_log(l, JK_LOG_INFO,
"(%s) error sending request on a fresh connection (errno=%d)",
@@ -1321,7 +1321,7 @@
}
else {
/* Close the socket if unable to connect */
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
jk_log(l, JK_LOG_INFO,
"(%s) error connecting to the backend server (errno=%d)",
@@ -1355,7 +1355,7 @@
if (postlen > AJP_HEADER_LEN) {
if (ajp_connection_tcp_send_message(ae, op->post, l) != JK_TRUE) {
/* Close the socket if unable to send request */
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
jk_log(l, JK_LOG_ERROR, "(%s) failed resending request body (%d)",
ae->worker->name, postlen);
@@ -1375,7 +1375,7 @@
if (postlen > AJP_HEADER_LEN) {
if (ajp_connection_tcp_send_message(ae, s->reco_buf, l) != JK_TRUE) {
/* Close the socket if unable to send request */
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
jk_log(l, JK_LOG_ERROR,
"(%s) failed resending request body (lb mode) (%d)",
@@ -1425,7 +1425,7 @@
s->content_read = (jk_uint64_t)len;
if (ajp_connection_tcp_send_message(ae, op->post, l) != JK_TRUE) {
/* Close the socket if unable to send request */
- jk_shutdown_socket(ae->sd);
+ jk_shutdown_socket(ae->sd, l);
ae->sd = JK_INVALID_SOCKET;
jk_log(l, JK_LOG_ERROR, "(%s) error sending request body",
ae->worker->name);
@@ -1810,7 +1810,7 @@
jk_log(l, JK_LOG_ERROR,
"(%s) Tomcat is down or network problems",
p->worker->name);
- jk_shutdown_socket(p->sd);
+ jk_shutdown_socket(p->sd, l);
p->sd = JK_INVALID_SOCKET;
JK_TRACE_EXIT(l);
return JK_FALSE;
@@ -2218,7 +2218,7 @@
p->name, p->host, p->port);
if (p->port > 1024) {
- if (jk_resolve(p->host, p->port, &p->worker_inet_addr)) {
+ if (jk_resolve(p->host, p->port, &p->worker_inet_addr, l)) {
JK_TRACE_EXIT(l);
return JK_TRUE;
}
@@ -2499,7 +2499,7 @@
jk_log(l, JK_LOG_DEBUG,
"Shutting down held socket %u in worker %s",
sock, p->worker->name);
- jk_shutdown_socket(sock);
+ jk_shutdown_socket(sock, l);
}
if (i >= 0) {
if (JK_IS_DEBUG_LEVEL(l))
Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.c?rev=603320&r1=603319&r2=603320&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_connect.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_connect.c Tue Dec 11 10:24:31 2007
@@ -117,7 +117,7 @@
#if defined (WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
/* WIN32 implementation */
-static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout)
+static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
{
int rc;
if (timeout <= 0)
@@ -167,7 +167,7 @@
#elif !defined(NETWARE)
/* POSIX implementation */
-static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout)
+static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
{
int rc = 0;
@@ -216,7 +216,7 @@
}
#else
/* NETWARE implementation - blocking for now */
-static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout)
+static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout, jk_logger_t *l)
{
return connect(sock, addr, sizeof(struct sockaddr_in));
}
@@ -245,7 +245,7 @@
/** resolve the host IP */
-int jk_resolve(const char *host, int port, struct sockaddr_in *rc)
+int jk_resolve(const char *host, int port, struct sockaddr_in *rc, jk_logger_t *l)
{
int x;
struct in_addr laddr;
@@ -349,7 +349,7 @@
sizeof(set))) {
jk_log(l, JK_LOG_ERROR,
"failed setting TCP_NODELAY (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -362,7 +362,7 @@
sizeof(set))) {
jk_log(l, JK_LOG_ERROR,
"failed setting SO_KEEPALIVE (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -379,7 +379,7 @@
JK_GET_SOCKET_ERRNO();
jk_log(l, JK_LOG_ERROR,
"failed setting SO_SNDBUF (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -390,7 +390,7 @@
JK_GET_SOCKET_ERRNO();
jk_log(l, JK_LOG_ERROR,
"failed setting SO_RCVBUF (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -432,7 +432,7 @@
JK_GET_SOCKET_ERRNO();
jk_log(l, JK_LOG_ERROR,
"failed setting SO_NOSIGPIPE (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -445,7 +445,7 @@
JK_GET_SOCKET_ERRNO();
jk_log(l, JK_LOG_ERROR,
"failed setting SO_LINGER (errno=%d)", errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
JK_TRACE_EXIT(l);
return JK_INVALID_SOCKET;
}
@@ -461,7 +461,7 @@
#if (_XOPEN_SOURCE >= 520) && defined(AS400)
((struct sockaddr *)addr)->sa_len = sizeof(struct sockaddr_in);
#endif
- ret = nb_connect(sock, (struct sockaddr *)addr, timeout);
+ ret = nb_connect(sock, (struct sockaddr *)addr, timeout, l);
#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
if (ret == SOCKET_ERROR) {
errno = WSAGetLastError() - WSABASEERR;
@@ -473,7 +473,7 @@
jk_log(l, JK_LOG_INFO,
"connect to %s failed (errno=%d)",
jk_dump_hinfo(addr, buf), errno);
- jk_close_socket(sock);
+ jk_close_socket(sock, l);
sock = JK_INVALID_SOCKET;
}
else {
@@ -487,7 +487,7 @@
/** close the socket */
-int jk_close_socket(jk_sock_t s)
+int jk_close_socket(jk_sock_t s, jk_logger_t *l)
{
if (IS_VALID_SOCKET(s))
#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
@@ -510,7 +510,7 @@
#define SHUT_WR 0x01
#endif
#endif
-int jk_shutdown_socket(jk_sock_t s)
+int jk_shutdown_socket(jk_sock_t s, jk_logger_t *l)
{
char dummy[512];
int rc = 0;
@@ -525,7 +525,7 @@
* to the peer.
*/
if (shutdown(s, SHUT_WR)) {
- return jk_close_socket(s);
+ return jk_close_socket(s, l);
}
/* Set up to wait for readable data on socket... */
@@ -562,7 +562,7 @@
} while (difftime(time(NULL), start) < MAX_SECS_TO_LINGER);
- return jk_close_socket(s);
+ return jk_close_socket(s, l);
}
/** send a long message
@@ -575,7 +575,7 @@
* @bug this fails on Unixes if len is too big for the underlying
* protocol.
*/
-int jk_tcp_socket_sendfull(jk_sock_t sd, const unsigned char *b, int len)
+int jk_tcp_socket_sendfull(jk_sock_t sd, const unsigned char *b, int len, jk_logger_t *l)
{
int sent = 0;
int wr;
@@ -609,7 +609,7 @@
* @return <0: receive failed or connection closed.
* >0: length of the received data.
*/
-int jk_tcp_socket_recvfull(jk_sock_t sd, unsigned char *b, int len)
+int jk_tcp_socket_recvfull(jk_sock_t sd, unsigned char *b, int len, jk_logger_t *l)
{
int rdlen = 0;
int rd;
@@ -653,7 +653,7 @@
return buf;
}
-int jk_is_socket_connected(jk_sock_t sock)
+int jk_is_socket_connected(jk_sock_t sock, jk_logger_t *l)
{
fd_set fd;
struct timeval tv;
Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.h
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.h?rev=603320&r1=603319&r2=603320&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_connect.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_connect.h Tue Dec 11 10:24:31 2007
@@ -39,22 +39,22 @@
#define JK_SOCKET_EOF (-2)
#define JK_SOCKET_ERROR (-3)
-int jk_resolve(const char *host, int port, struct sockaddr_in *rc);
+int jk_resolve(const char *host, int port, struct sockaddr_in *rc, jk_logger_t *l);
jk_sock_t jk_open_socket(struct sockaddr_in *addr, int keepalive,
int timeout, int sock_buf, jk_logger_t *l);
-int jk_close_socket(jk_sock_t s);
+int jk_close_socket(jk_sock_t s, jk_logger_t *l);
-int jk_shutdown_socket(jk_sock_t s);
+int jk_shutdown_socket(jk_sock_t s, jk_logger_t *l);
-int jk_tcp_socket_sendfull(jk_sock_t sd, const unsigned char *b, int len);
+int jk_tcp_socket_sendfull(jk_sock_t sd, const unsigned char *b, int len, jk_logger_t *l);
-int jk_tcp_socket_recvfull(jk_sock_t sd, unsigned char *b, int len);
+int jk_tcp_socket_recvfull(jk_sock_t sd, unsigned char *b, int len, jk_logger_t *l);
char *jk_dump_hinfo(struct sockaddr_in *saddr, char *buf);
-int jk_is_socket_connected(jk_sock_t sd);
+int jk_is_socket_connected(jk_sock_t sd, jk_logger_t *l);
/***
Modified: tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c?rev=603320&r1=603319&r2=603320&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c (original)
+++ tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c Tue Dec 11 10:24:31 2007
@@ -871,7 +871,7 @@
return;
}
- if(jk_resolve("localhost", port, &in)) {
+ if(jk_resolve("localhost", port, &in, NULL)) {
int sd = jk_open_socket(&in, JK_TRUE, 0, -1, NULL);
if(sd >0) {
int rc = JK_FALSE;
@@ -910,7 +910,8 @@
if(0 > jk_tcp_socket_sendfull(sd,
msg->buf,
- msg->len)) {
+ msg->len,
+ NULL)) {
rc = JK_FALSE;
}
}
@@ -921,7 +922,7 @@
rc = JK_TRUE;
}
}
- jk_close_socket(sd);
+ jk_close_socket(sd, NULL);
if(JK_TRUE == rc) {
if(WAIT_OBJECT_0 == WaitForSingleObject(hTomcat, 30*1000)) {
return;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org