diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2010-02-26 17:11:03 +0100 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2010-02-26 17:11:03 +0100 |
commit | d3c08d0100ecdf0431eca8caf975210ec658405f (patch) | |
tree | 5de58af13acb68131619c730c650d0e98213d8e8 | |
parent | e57888feeddba37a959fc2468f4c28b1446cce98 (diff) | |
parent | 63976e0f09c51f3001e487584863f8f3e930a824 (diff) | |
download | openvpn-d3c08d0100ecdf0431eca8caf975210ec658405f.tar.gz openvpn-d3c08d0100ecdf0431eca8caf975210ec658405f.tar.xz openvpn-d3c08d0100ecdf0431eca8caf975210ec658405f.zip |
Merge branch 'master' into feat_eurephia
-rw-r--r-- | .mailmap | 1 | ||||
-rw-r--r-- | .svncommitters | 1 | ||||
-rw-r--r-- | manage.c | 21 |
3 files changed, 17 insertions, 6 deletions
diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..91ff553 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +James Yonan <james@openvpn.net> james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> diff --git a/.svncommitters b/.svncommitters new file mode 100644 index 0000000..0772102 --- /dev/null +++ b/.svncommitters @@ -0,0 +1 @@ +james = James Yonan <james@openvpn.net> @@ -1541,17 +1541,18 @@ man_reset_client_socket (struct management *man, const bool exiting) { if (socket_defined (man->connection.sd_cli)) { - msg (D_MANAGEMENT, "MANAGEMENT: Client disconnected"); #ifdef WIN32 man_stop_ne32 (man); #endif man_close_socket (man, man->connection.sd_cli); man->connection.sd_cli = SOCKET_UNDEFINED; + man->connection.state = MS_INITIAL; command_line_reset (man->connection.in); buffer_list_reset (man->connection.out); #ifdef MANAGEMENT_DEF_AUTH in_extra_reset (&man->connection, false); #endif + msg (D_MANAGEMENT, "MANAGEMENT: Client disconnected"); } if (!exiting) { @@ -2511,11 +2512,13 @@ man_output_standalone (struct management *man, volatile int *signal_received) static int man_standalone_event_loop (struct management *man, volatile int *signal_received, const time_t expire) { - int status; - ASSERT (man_standalone_ok (man)); - status = man_block (man, signal_received, expire); - if (status > 0) - management_io (man); + int status = -1; + if (man_standalone_ok (man)) + { + status = man_block (man, signal_received, expire); + if (status > 0) + management_io (man); + } return status; } @@ -2573,6 +2576,8 @@ management_event_loop_n_seconds (struct management *man, int sec) while (true) { man_standalone_event_loop (man, &signal_received, expire); + if (!signal_received) + man_check_for_signals (&signal_received); if (signal_received) return; } @@ -2662,6 +2667,8 @@ management_query_user_pass (struct management *man, do { man_standalone_event_loop (man, &signal_received, 0); + if (!signal_received) + man_check_for_signals (&signal_received); if (signal_received) { ret = false; @@ -2742,6 +2749,8 @@ management_hold (struct management *man) do { man_standalone_event_loop (man, &signal_received, 0); + if (!signal_received) + man_check_for_signals (&signal_received); if (signal_received) break; } while (!man->persist.hold_release); |