Merge pull request #137 from felHR85/bugfix/intermittentcrashes

Fix intermittent crashes with buffer reads
pull/140/head
Henry Addo 2018-01-04 13:55:35 +01:00 zatwierdzone przez GitHub
commit d1cea05561
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
4 zmienionych plików z 7 dodań i 3 usunięć

Wyświetl plik

@ -3,7 +3,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.android.tools.build:gradle:2.2.3'
}
}

Wyświetl plik

@ -118,6 +118,7 @@ public class SerialBuffer
public synchronized void put(byte[] src)
{
if(src == null || src.length == 0) return;
if(position == -1)
position = 0;
if(debugging)
@ -148,6 +149,7 @@ public class SerialBuffer
e.printStackTrace();
}
}
if(position <= -1 ) return new byte[0];
byte[] dst = Arrays.copyOfRange(buffer, 0, position);
if(debugging)
UsbSerialDebugger.printLogGet(dst, true);

Wyświetl plik

@ -304,7 +304,8 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
while(working.get())
{
byte[] data = serialBuffer.getWriteBuffer();
connection.bulkTransfer(outEndpoint, data, data.length, USB_TIMEOUT);
if(data.length > 0)
connection.bulkTransfer(outEndpoint, data, data.length, USB_TIMEOUT);
}
}

Wyświetl plik

@ -99,7 +99,8 @@ public abstract class UsbSpiDevice implements UsbSpiInterface
while(working.get())
{
byte[] data = serialBuffer.getWriteBuffer();
connection.bulkTransfer(outEndpoint, data, data.length, USB_TIMEOUT);
if(data.length > 0)
connection.bulkTransfer(outEndpoint, data, data.length, USB_TIMEOUT);
}
}