Commit d5b80b125f50c63edc41abc7ba97c055a486a214
1 parent
b63d6671
Exists in
master
and in
3 other branches
Can't "auto-reconnect" when the toogle is changed; it conflicts
with the "connect_on_startup" toogle and seens to be causing hangs on windows version.
Showing
2 changed files
with
5 additions
and
3 deletions
Show diff stats
src/lib3270/host.c
| @@ -69,9 +69,9 @@ int lib3270_check_for_auto_reconnect(H3270 *hSession) | @@ -69,9 +69,9 @@ int lib3270_check_for_auto_reconnect(H3270 *hSession) | ||
| 69 | if(hSession->auto_reconnect_inprogress) | 69 | if(hSession->auto_reconnect_inprogress) |
| 70 | { | 70 | { |
| 71 | lib3270_write_log(hSession,"3270","Starting auto-reconnect on %s",lib3270_get_url(hSession)); | 71 | lib3270_write_log(hSession,"3270","Starting auto-reconnect on %s",lib3270_get_url(hSession)); |
| 72 | - hSession->auto_reconnect_inprogress = 0; // Reset "in-progress" to allow reconnection. | ||
| 73 | if(lib3270_reconnect(hSession,0)) | 72 | if(lib3270_reconnect(hSession,0)) |
| 74 | lib3270_write_log(hSession,"3270","Auto-reconnect fails: %s",strerror(errno)); | 73 | lib3270_write_log(hSession,"3270","Auto-reconnect fails: %s",strerror(errno)); |
| 74 | + hSession->auto_reconnect_inprogress = 0; // Reset "in-progress" to allow reconnection. | ||
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | return 0; | 77 | return 0; |
src/lib3270/toggles.c
| @@ -340,6 +340,7 @@ static void toggle_keepalive(H3270 *session, struct lib3270_toggle *t unused, LI | @@ -340,6 +340,7 @@ static void toggle_keepalive(H3270 *session, struct lib3270_toggle *t unused, LI | ||
| 340 | } | 340 | } |
| 341 | } | 341 | } |
| 342 | 342 | ||
| 343 | +/* | ||
| 343 | static void toggle_reconnect(H3270 *hSession, struct lib3270_toggle *t unused, LIB3270_TOGGLE_TYPE type ) | 344 | static void toggle_reconnect(H3270 *hSession, struct lib3270_toggle *t unused, LIB3270_TOGGLE_TYPE type ) |
| 344 | { | 345 | { |
| 345 | 346 | ||
| @@ -349,13 +350,14 @@ static void toggle_reconnect(H3270 *hSession, struct lib3270_toggle *t unused, L | @@ -349,13 +350,14 @@ static void toggle_reconnect(H3270 *hSession, struct lib3270_toggle *t unused, L | ||
| 349 | 350 | ||
| 350 | if(t->value && !hSession->auto_reconnect_inprogress) | 351 | if(t->value && !hSession->auto_reconnect_inprogress) |
| 351 | { | 352 | { |
| 352 | - /* Schedule an automatic reconnection. */ | 353 | + // Schedule an automatic reconnection. |
| 353 | lib3270_write_log(hSession,"toggle","Auto-reconnect toggle was activated when offline, reconnecting"); | 354 | lib3270_write_log(hSession,"toggle","Auto-reconnect toggle was activated when offline, reconnecting"); |
| 354 | hSession->auto_reconnect_inprogress = 1; | 355 | hSession->auto_reconnect_inprogress = 1; |
| 355 | (void) AddTimer(RECONNECT_MS, hSession, lib3270_check_for_auto_reconnect); | 356 | (void) AddTimer(RECONNECT_MS, hSession, lib3270_check_for_auto_reconnect); |
| 356 | } | 357 | } |
| 357 | 358 | ||
| 358 | } | 359 | } |
| 360 | +*/ | ||
| 359 | 361 | ||
| 360 | /** | 362 | /** |
| 361 | * @brief Called from system initialization code to handle initial toggle settings. | 363 | * @brief Called from system initialization code to handle initial toggle settings. |
| @@ -372,7 +374,7 @@ void initialize_toggles(H3270 *session) | @@ -372,7 +374,7 @@ void initialize_toggles(H3270 *session) | ||
| 372 | session->toggle[LIB3270_TOGGLE_UNDERLINE].upcall = toggle_redraw; | 374 | session->toggle[LIB3270_TOGGLE_UNDERLINE].upcall = toggle_redraw; |
| 373 | session->toggle[LIB3270_TOGGLE_ALTSCREEN].upcall = toggle_altscreen; | 375 | session->toggle[LIB3270_TOGGLE_ALTSCREEN].upcall = toggle_altscreen; |
| 374 | session->toggle[LIB3270_TOGGLE_KEEP_ALIVE].upcall = toggle_keepalive; | 376 | session->toggle[LIB3270_TOGGLE_KEEP_ALIVE].upcall = toggle_keepalive; |
| 375 | - session->toggle[LIB3270_TOGGLE_RECONNECT].upcall = toggle_reconnect; | 377 | +// session->toggle[LIB3270_TOGGLE_RECONNECT].upcall = toggle_reconnect; |
| 376 | 378 | ||
| 377 | for(f=0;f<LIB3270_TOGGLE_COUNT;f++) | 379 | for(f=0;f<LIB3270_TOGGLE_COUNT;f++) |
| 378 | { | 380 | { |