Commit 2938cc60892033b6355412180f64fba843a0bea1

Authored by Perry Werneck
1 parent 856f6f8f

Decreasing delay in "wait_for_ready" method.

src/core/iocalls.c
@@ -479,24 +479,23 @@ LIB3270_EXPORT int lib3270_wait_for_update(H3270 *hSession, int seconds) @@ -479,24 +479,23 @@ LIB3270_EXPORT int lib3270_wait_for_update(H3270 *hSession, int seconds)
479 479
480 LIB3270_EXPORT int lib3270_wait_for_ready(H3270 *hSession, int seconds) 480 LIB3270_EXPORT int lib3270_wait_for_ready(H3270 *hSession, int seconds)
481 { 481 {
482 - time_t end = time(0)+seconds; 482 + time_t end = time(0)+seconds;
483 483
484 - event_dispatcher(hSession,0);  
485 -  
486 - if(!lib3270_lock_status(hSession))  
487 - return 0; 484 + FAIL_IF_NOT_ONLINE(hSession);
488 485
489 - while(time(0) < end) 486 + event_dispatcher(hSession,0);
  487 + do
490 { 488 {
491 - event_dispatcher(hSession,1);  
492 -  
493 if(!lib3270_lock_status(hSession)) 489 if(!lib3270_lock_status(hSession))
494 return 0; 490 return 0;
495 491
496 if(!lib3270_connected(hSession)) 492 if(!lib3270_connected(hSession))
497 return ENOTCONN; 493 return ENOTCONN;
498 494
  495 + event_dispatcher(hSession,1);
  496 +
499 } 497 }
  498 + while(time(0) < end);
500 499
501 return ETIMEDOUT; 500 return ETIMEDOUT;
502 } 501 }
src/core/linux/event_dispatcher.c
@@ -126,8 +126,8 @@ retry: @@ -126,8 +126,8 @@ retry:
126 } 126 }
127 else 127 else
128 { 128 {
129 - twait.tv_sec = 1;  
130 - twait.tv_usec = 0L; 129 + twait.tv_sec = 0;
  130 + twait.tv_usec = 10L;
131 tp = &twait; 131 tp = &twait;
132 132
133 if(!events) 133 if(!events)
src/testprogram/testprogram.c
@@ -88,7 +88,9 @@ int main(int argc, char *argv[]) @@ -88,7 +88,9 @@ int main(int argc, char *argv[])
88 88
89 if(!rc) 89 if(!rc)
90 { 90 {
  91 + printf("\n\nWaiting starts %u\n",(unsigned int) time(NULL));
91 lib3270_wait_for_ready(h,10); 92 lib3270_wait_for_ready(h,10);
  93 + printf("Waiting ends %u\n\n",(unsigned int) time(NULL));
92 94
93 lib3270_autoptr(char) text = lib3270_get_string_at_address(h,0,-1,0); 95 lib3270_autoptr(char) text = lib3270_get_string_at_address(h,0,-1,0);
94 if(text) 96 if(text)