src/server/daemon/httplistener.c

changeset 134
44415e4399ce
parent 133
87b405d61f64
child 145
1c93281ca4bf
equal deleted inserted replaced
133:87b405d61f64 134:44415e4399ce
151 listener->threadpool = get_threadpool(conf->threadpool); 151 listener->threadpool = get_threadpool(conf->threadpool);
152 } 152 }
153 if(listener->threadpool == NULL) { 153 if(listener->threadpool == NULL) {
154 listener->threadpool = get_default_threadpool(); 154 listener->threadpool = get_default_threadpool();
155 } 155 }
156 //listener->session_handler = create_basic_session_handler(); 156 if(conf->blockingio) {
157 listener->session_handler = create_event_session_handler(); 157 listener->session_handler = create_basic_session_handler();
158 } else {
159 listener->session_handler = create_event_session_handler();
160 }
158 listener->nacceptors = conf->nacceptors; 161 listener->nacceptors = conf->nacceptors;
159 listener->port = conf->port; 162 listener->port = conf->port;
160 listener->ref = 1; 163 listener->ref = 1;
161 listener->next = NULL; 164 listener->next = NULL;
162 listener->ssl = NULL; 165 listener->ssl = NULL;
399 conn->fd = clientfd; 402 conn->fd = clientfd;
400 conn->listener = ls; 403 conn->listener = ls;
401 if(ls->ssl) { 404 if(ls->ssl) {
402 SSL *ssl = SSL_new(ls->ssl->sslctx); 405 SSL *ssl = SSL_new(ls->ssl->sslctx);
403 SSL_set_fd(ssl, clientfd); 406 SSL_set_fd(ssl, clientfd);
404 if(SSL_accept(ssl) <= 0) { 407 int ssl_ar = SSL_accept(ssl);
408 if(ssl_ar <= 0) {
409 int error = SSL_get_error(ssl, ssl_ar);
410 log_ereport(LOG_INFORM, "SSL accept error: %d", error);
405 free(conn); 411 free(conn);
406 conn = NULL; 412 conn = NULL;
407 } else { 413 } else {
408 conn->ssl = ssl; 414 conn->ssl = ssl;
409 conn->read = connection_ssl_read; 415 conn->read = connection_ssl_read;

mercurial