costin 02/04/11 12:29:40
Modified: jk/native2/common jk_channel_apr_socket.c
Log:
Few fixes and better initialization.
Similar with channel_socket.
Revision Changes Path
1.6 +33 -25
jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c
Index: jk_channel_apr_socket.c
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_apr_socket.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- jk_channel_apr_socket.c 11 Apr 2002 05:44:46 -0000 1.5
+++ jk_channel_apr_socket.c 11 Apr 2002 19:29:40 -0000 1.6
@@ -152,7 +152,7 @@
/** resolve the host IP ( jk_resolve ) and initialize the channel.
*/
static int JK_METHOD jk2_channel_apr_init(jk_env_t *env,
- jk_channel_t *_this)
+ jk_channel_t *_this)
{
jk_channel_apr_private_t *socketInfo=
(jk_channel_apr_private_t *)(_this->_privatePtr);
@@ -161,8 +161,14 @@
if( socketInfo->host==NULL ) {
char *localName=_this->mbean->localName;
- env->l->jkLog(env, env->l, JK_LOG_INFO,
- "channelApr.init(): use name %s\n", localName );
+ jk_config_t *cfg=_this->workerEnv->config;
+
+ /* Set the 'name' property
+ */
+ localName = jk2_config_replaceProperties(env, cfg->map, cfg->map->pool,
localName);
+
+ /* env->l->jkLog(env, env->l, JK_LOG_INFO, */
+ /* "channelApr.init(): use name %s\n", localName ); */
if (localName[0]=='/') {
_this->mbean->setAttribute( env, _this->mbean, "file", localName );
@@ -182,9 +188,6 @@
env->l->jkLog(env, env->l, JK_LOG_ERROR, "jk2_channel_apr_init: "
"can't resolve %s:%d errno=%d\n", socketInfo->host,
socketInfo->port, errno );
}
- env->l->jkLog(env, env->l, JK_LOG_INFO,
- "channel_apr.init(): %s:%d for %s\n", socketInfo->host,
- socketInfo->port, _this->worker->mbean->name );
return rc;
}
@@ -192,25 +195,27 @@
/** private: resolve the address on init
*/
static int JK_METHOD jk2_channel_apr_resolve(jk_env_t *env,
- char *host, short port,
- jk_channel_apr_private_t *rc)
+ char *host, short port,
+ jk_channel_apr_private_t *rc)
{
/*
* If the hostname is an absolut path, we want a UNIX socket.
* otherwise it is a TCP/IP socket.
*/
- env->l->jkLog(env, env->l, JK_LOG_ERROR,
- "jk2_channel_apr_resolve: %s %d\n",
- host, port);
+ /* env->l->jkLog(env, env->l, JK_LOG_ERROR, */
+ /* "jk2_channel_apr_resolve: %s %d\n", */
+ /* host, port); */
if (host[0]=='/') {
rc->type = TYPE_UNIX;
memset(&rc->unix_addr, 0, sizeof(struct sockaddr_un));
rc->unix_addr.sun_family = AF_UNIX;
strcpy(rc->unix_addr.sun_path, host);
env->l->jkLog(env, env->l, JK_LOG_INFO,
- "channelApr.resolve(): create unix_addr %s\n", host );
+ "channelApr.resolve(): create AF_UNIX %s\n", host );
} else {
rc->type = TYPE_NET;
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "channelApr.resolve(): create AF_NET %s %d\n", host, port );
if ( apr_sockaddr_info_get(&rc->addr, host, APR_UNSPEC, port, 0,
(apr_pool_t *)env->globalPool->_private)!=APR_SUCCESS) {
return JK_FALSE;
@@ -251,7 +256,7 @@
return JK_FALSE;
}
env->l->jkLog(env, env->l, JK_LOG_INFO,
- "channelApr.open(): create unix socket %d\n", unixsock );
+ "channelApr.open(): create unix socket %s %d\n",
socketInfo->host, unixsock );
if (connect(unixsock,(struct sockaddr *)&(socketInfo->unix_addr),
sizeof(struct sockaddr_un))<0) {
close(unixsock);
@@ -543,23 +548,26 @@
jk_bean_t *result,
const char *type, const char *name)
{
- jk_channel_t *_this;
+ jk_channel_t *ch;
- _this=(jk_channel_t *)pool->calloc(env, pool, sizeof( jk_channel_t));
+ ch=(jk_channel_t *)pool->calloc(env, pool, sizeof( jk_channel_t));
- _this->_privatePtr= (jk_channel_apr_private_t *)
+ ch->_privatePtr= (jk_channel_apr_private_t *)
pool->calloc( env, pool, sizeof( jk_channel_apr_private_t));
- _this->recv= jk2_channel_apr_recv;
- _this->send= jk2_channel_apr_send;
- _this->init= jk2_channel_apr_init;
- _this->open= jk2_channel_apr_open;
- _this->close= jk2_channel_apr_close;
- _this->is_stream=JK_TRUE;
+ ch->recv= jk2_channel_apr_recv;
+ ch->send= jk2_channel_apr_send;
+ ch->init= jk2_channel_apr_init;
+ ch->open= jk2_channel_apr_open;
+ ch->close= jk2_channel_apr_close;
+ ch->is_stream=JK_TRUE;
result->setAttribute= jk2_channel_apr_setProperty;
- _this->mbean=result;
- result->object= _this;
-
+ ch->mbean=result;
+ result->object= ch;
+
+ ch->workerEnv=env->getByName( env, "workerEnv" );
+ ch->workerEnv->addChannel( env, ch->workerEnv, ch );
+
return JK_TRUE;
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>