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]>