[JSch-users] dead lock during large file transfers
Status: Alpha
Brought to you by:
ymnk
From: Filip H. <fi...@ha...> - 2004-02-25 17:41:17
|
Hi there, we are constantly getting dead locks while doing large file transfers from one system to another. I believe the problem might be in the use of the Piped streams and the fact that IO is blocking. I added in the following check to IO.getByte and it seems as it is working fine. Would this cause any other problems, or is the while loop acceptable as a bug fix? void getByte(byte[] array, int begin, int length) throws IOException { do{ while ( in.available() <= 0 ) { try { Thread.sleep(10); } catch ( java.lang.InterruptedException x ) { x.printStackTrace(); break; } } int completed = in.read(array, begin, length); if(completed<=0){ throw new IOException(""); } begin+=completed; length-=completed; } while (length>0); } --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.594 / Virus Database: 377 - Release Date: 2/24/2004 |