Commit c539cc10ae127d59072be93483c236fac62cb06e
1 parent
52dddb94
Exists in
master
and in
3 other branches
wait_for_ready should wait for "reconnect" process to complete.
Showing
2 changed files
with
16 additions
and
3 deletions
Show diff stats
src/core/wait.c
| ... | ... | @@ -49,8 +49,6 @@ LIB3270_EXPORT int lib3270_wait_for_update(H3270 GNUC_UNUSED(*hSession), int GNU |
| 49 | 49 | |
| 50 | 50 | LIB3270_EXPORT int lib3270_wait_for_ready(H3270 *hSession, int seconds) |
| 51 | 51 | { |
| 52 | - FAIL_IF_NOT_ONLINE(hSession); | |
| 53 | - | |
| 54 | 52 | debug("%s",__FUNCTION__); |
| 55 | 53 | debug("Session lock state is %d",lib3270_get_lock_status(hSession)); |
| 56 | 54 | ... | ... |
src/testprogram/testprogram.c
| ... | ... | @@ -62,6 +62,16 @@ static void online_group_state_changed(H3270 GNUC_UNUSED(*hSession), void GNUC_U |
| 62 | 62 | printf("\n\n%s\n\n",__FUNCTION__); |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | +static void reconnect_test(H3270 *hSession) { | |
| 66 | + | |
| 67 | + lib3270_reconnect(hSession,0); | |
| 68 | + | |
| 69 | + int rc = lib3270_wait_for_ready(hSession,10); | |
| 70 | + | |
| 71 | + printf("\n\nlib3270_wait_for_ready exits with rc %d (%s)\n\n",rc,strerror(rc)); | |
| 72 | + | |
| 73 | +} | |
| 74 | + | |
| 65 | 75 | int main(int argc, char *argv[]) |
| 66 | 76 | { |
| 67 | 77 | #ifdef _WIN32 |
| ... | ... | @@ -80,6 +90,7 @@ int main(int argc, char *argv[]) |
| 80 | 90 | { "crl", required_argument, 0, 'C' }, |
| 81 | 91 | { "url", required_argument, 0, 'U' }, |
| 82 | 92 | { "tracefile", required_argument, 0, 't' }, |
| 93 | + { "reconnect", no_argument, 0, 'r' }, | |
| 83 | 94 | |
| 84 | 95 | { 0, 0, 0, 0} |
| 85 | 96 | |
| ... | ... | @@ -103,7 +114,7 @@ int main(int argc, char *argv[]) |
| 103 | 114 | |
| 104 | 115 | int long_index =0; |
| 105 | 116 | int opt; |
| 106 | - while((opt = getopt_long(argc, argv, "C:U:t:", options, &long_index )) != -1) { | |
| 117 | + while((opt = getopt_long(argc, argv, "C:U:t:r", options, &long_index )) != -1) { | |
| 107 | 118 | switch(opt) { |
| 108 | 119 | case 'U': |
| 109 | 120 | lib3270_set_url(h,optarg); |
| ... | ... | @@ -113,6 +124,10 @@ int main(int argc, char *argv[]) |
| 113 | 124 | lib3270_crl_set_url(h,optarg); |
| 114 | 125 | break; |
| 115 | 126 | |
| 127 | + case 'r': | |
| 128 | + reconnect_test(h); | |
| 129 | + return 0; | |
| 130 | + | |
| 116 | 131 | case 't': |
| 117 | 132 | trace_file = optarg; |
| 118 | 133 | lib3270_set_trace_handler(h,write_trace,NULL); | ... | ... |