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