Commit ff3ec356d03b88df8cd2f676acf2ed76e306341c
1 parent
9ca90668
Exists in
master
and in
3 other branches
Fixing performance issues.
Showing
2 changed files
with
10 additions
and
2 deletions
Show diff stats
src/core/wait.c
| ... | ... | @@ -248,16 +248,22 @@ LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_keyboard_unlock(H327 |
| 248 | 248 | // Timeout! The timer was destroyed. |
| 249 | 249 | debug("%s exits with ETIMEDOUT",__FUNCTION__); |
| 250 | 250 | errno = ETIMEDOUT; |
| 251 | - return (LIB3270_KEYBOARD_LOCK_STATE) hSession->kybdlock; | |
| 251 | + break; | |
| 252 | 252 | } |
| 253 | 253 | |
| 254 | - if(lib3270_is_disconnected(hSession)) | |
| 254 | + if(hSession->kybdlock == LIB3270_KL_NOT_CONNECTED) | |
| 255 | 255 | { |
| 256 | 256 | errno = ENOTCONN; |
| 257 | 257 | break; |
| 258 | 258 | } |
| 259 | 259 | |
| 260 | 260 | if(KYBDLOCK_IS_OERR(hSession)) |
| 261 | + { | |
| 262 | + errno = EPERM; | |
| 263 | + break; | |
| 264 | + } | |
| 265 | + | |
| 266 | + if(hSession->kybdlock == LIB3270_KL_UNLOCKED) | |
| 261 | 267 | break; |
| 262 | 268 | |
| 263 | 269 | debug("%s: Waiting",__FUNCTION__); | ... | ... |
src/include/lib3270/keyboard.h
| ... | ... | @@ -66,6 +66,8 @@ |
| 66 | 66 | * @param seconds Number of seconds to wait. |
| 67 | 67 | * |
| 68 | 68 | * @return keyboard lock status. |
| 69 | + * | |
| 70 | + * @retval LIB3270_KL_UNLOCKED Keyboard unlocked, acess ok. | |
| 69 | 71 | */ |
| 70 | 72 | LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_keyboard_unlock(H3270 *hSession, int seconds); |
| 71 | 73 | ... | ... |