提交 b984cd2b 编写于 作者: G Geoff Thorpe

A typo and a couple of logic errors fixed. I think there may still be one

or two kinks lurking around, but it now appears to deal with the basic
test cases ok.
上级 adcc64cd
......@@ -119,7 +119,8 @@ int state_machine_close_clean(state_machine_t *machine)
buffer_close(&machine->clean_in);
buffer_close(&machine->clean_out);
/* And start an SSL shutdown */
SSL_shutdown(machine->ssl);
if(machine->ssl)
SSL_shutdown(machine->ssl);
/* This is an "event", so flush the SSL of any generated traffic */
state_machine_churn(machine);
if(buffer_empty(&machine->dirty_in) &&
......
......@@ -295,7 +295,7 @@ main_loop:
fprintf(stderr, "selector_select returned a badness error.\n");
abort();
case 0:
fprintf(stderr, "Warn, selector_select return 0 - signal??\n");
fprintf(stderr, "Warn, selector_select returned 0 - signal??\n");
goto main_loop;
default:
break;
......@@ -678,7 +678,7 @@ static int tunala_item_io(tunala_selector_t *selector, tunala_item_t *item)
item->clean_send = -1;
item->clean_read = -1;
}
if(c_s) {
if(c_s && (item->clean_send != -1)) {
close(item->clean_send);
if(item->clean_send == item->clean_read)
item->clean_read = -1;
......@@ -690,7 +690,7 @@ static int tunala_item_io(tunala_selector_t *selector, tunala_item_t *item)
item->dirty_send = -1;
item->dirty_read = -1;
}
if(d_s) {
if(d_s && (item->dirty_send != -1)) {
close(item->dirty_send);
if(item->dirty_send == item->dirty_read)
item->dirty_read = -1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册