[logcatudp] push by jmad...@gmail.com - Fixed issue #3 - Deadlock when stopping service with filter. on 2011-06-06 17:01 GMT

0 views
Skip to first unread message

logc...@googlecode.com

unread,
Jun 6, 2011, 1:01:35 PM6/6/11
to logcatud...@googlegroups.com
Revision: 7ceb0f90f436
Author: jma...@gmail.com
Date: Mon Jun 6 04:18:30 2011
Log: Fixed issue #3 - Deadlock when stopping service with filter.
http://code.google.com/p/logcatudp/source/detail?r=7ceb0f90f436

Modified:
/src/sk/madzik/android/logcatudp/LogcatThread.java

=======================================
--- /src/sk/madzik/android/logcatudp/LogcatThread.java Fri Jun 3 05:56:14
2011
+++ /src/sk/madzik/android/logcatudp/LogcatThread.java Mon Jun 6 04:18:30
2011
@@ -34,15 +34,19 @@
Process process = Runtime.getRuntime().exec( procString );
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(process.getInputStream()));
String logLine;
- while ( (logLine = bufferedReader.readLine()) != null ) {
- String sendingLine = "";
- if ( mConfig.mSendIds ) {
- sendingLine = mConfig.mDevId + ": ";
- }
- sendingLine += logLine + System.getProperty("line.separator");
- DatagramPacket packet = new DatagramPacket(sendingLine.getBytes(),
sendingLine.length(),
- InetAddress.getByName(mConfig.mDestServer), mConfig.mDestPort);
- mSocket.send(packet);
+ while ( true ) {
+ // assume that log writes whole lines
+ if ( bufferedReader.ready() ) {
+ logLine = bufferedReader.readLine();
+ String sendingLine = "";
+ if ( mConfig.mSendIds ) {
+ sendingLine = mConfig.mDevId + ": ";
+ }
+ sendingLine += logLine + System.getProperty("line.separator");
+ DatagramPacket packet = new DatagramPacket(sendingLine.getBytes(),
sendingLine.length(),
+ InetAddress.getByName(mConfig.mDestServer), mConfig.mDestPort);
+ mSocket.send(packet);
+ }
if ( isInterrupted() ) {
Log.d( TAG, "interupted." );
break;

Reply all
Reply to author
Forward
0 new messages