Commit 2e1bc853a1564bfee773519a8ef23da4bf1eb1f1
1 parent
648b777f
Exists in
master
and in
5 other branches
Movendo cleanup do socket para uma thread independente
Showing
1 changed file
with
39 additions
and
31 deletions
Show diff stats
android/src/br/com/bb/pw3270/lib3270.java
| @@ -541,43 +541,51 @@ public abstract class lib3270 | @@ -541,43 +541,51 @@ public abstract class lib3270 | ||
| 541 | 541 | ||
| 542 | private int net_cleanup() | 542 | private int net_cleanup() |
| 543 | { | 543 | { |
| 544 | - Log.v(TAG, "Stopping network activity"); | ||
| 545 | - | ||
| 546 | if(sock != null) | 544 | if(sock != null) |
| 547 | { | 545 | { |
| 548 | - if(sock.isConnected()) | 546 | + Thread t = new Thread() |
| 549 | { | 547 | { |
| 550 | - try | ||
| 551 | - { | ||
| 552 | - sock.shutdownInput(); | ||
| 553 | - return 0; | ||
| 554 | - } | ||
| 555 | - catch(Exception e) | 548 | + public void run() |
| 556 | { | 549 | { |
| 557 | - String msg = e.getLocalizedMessage(); | ||
| 558 | - if(msg == null) | ||
| 559 | - msg = e.getMessage(); | ||
| 560 | - | ||
| 561 | - Log.v(TAG,": shutdownInput error" + (msg != null ? msg : e.toString())); | ||
| 562 | - } | ||
| 563 | - } | 550 | + Log.v(TAG, "Stopping network activity"); |
| 551 | + | ||
| 552 | + if(sock.isConnected()) | ||
| 553 | + { | ||
| 554 | + try | ||
| 555 | + { | ||
| 556 | + sock.shutdownInput(); | ||
| 557 | + } | ||
| 558 | + catch(Exception e) | ||
| 559 | + { | ||
| 560 | + String msg = e.getLocalizedMessage(); | ||
| 561 | + if(msg == null) | ||
| 562 | + msg = e.getMessage(); | ||
| 564 | 563 | ||
| 565 | - if(!sock.isClosed()) | ||
| 566 | - { | ||
| 567 | - try | ||
| 568 | - { | ||
| 569 | - sock.close(); | ||
| 570 | - return 0; | ||
| 571 | - } | ||
| 572 | - catch(Exception e) | ||
| 573 | - { | ||
| 574 | - String msg = e.getLocalizedMessage(); | ||
| 575 | - if(msg == null) | ||
| 576 | - msg = e.getMessage(); | ||
| 577 | - | ||
| 578 | - Log.v(TAG,"sockclose error: " + (msg != null ? msg : e.toString())); | 564 | + Log.v(TAG,": shutdownInput error" + (msg != null ? msg : e.toString())); |
| 565 | + } | ||
| 566 | + } | ||
| 567 | + | ||
| 568 | + /* | ||
| 569 | + if!(sock == null && sock.isClosed())) | ||
| 570 | + { | ||
| 571 | + try | ||
| 572 | + { | ||
| 573 | + sock.close(); | ||
| 574 | + } | ||
| 575 | + catch(Exception e) | ||
| 576 | + { | ||
| 577 | + String msg = e.getLocalizedMessage(); | ||
| 578 | + if(msg == null) | ||
| 579 | + msg = e.getMessage(); | ||
| 580 | + | ||
| 581 | + Log.v(TAG,"sockclose error: " + (msg != null ? msg : e.toString())); | ||
| 582 | + } | ||
| 583 | + } | ||
| 584 | + */ | ||
| 579 | } | 585 | } |
| 580 | - } | 586 | + }; |
| 587 | + | ||
| 588 | + t.start(); | ||
| 581 | } | 589 | } |
| 582 | 590 | ||
| 583 | return 0; | 591 | return 0; |