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