Commit c539cc10ae127d59072be93483c236fac62cb06e

Authored by Perry Werneck
1 parent 52dddb94

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