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