Author: gnodet
Date: Fri Aug 28 07:15:23 2009
New Revision: 808782
URL: http://svn.apache.org/viewvc?rev=808782&view=rev
Log:
FELIX-1529: fix console ^D handling
Modified:
felix/trunk/karaf/gshell/gshell-console/src/main/java/org/apache/felix/karaf/gshell/console/jline/Console.java
Modified:
felix/trunk/karaf/gshell/gshell-console/src/main/java/org/apache/felix/karaf/gshell/console/jline/Console.java
URL:
http://svn.apache.org/viewvc/felix/trunk/karaf/gshell/gshell-console/src/main/java/org/apache/felix/karaf/gshell/console/jline/Console.java?rev=808782&r1=808781&r2=808782&view=diff
==============================================================================
---
felix/trunk/karaf/gshell/gshell-console/src/main/java/org/apache/felix/karaf/gshell/console/jline/Console.java
(original)
+++
felix/trunk/karaf/gshell/gshell-console/src/main/java/org/apache/felix/karaf/gshell/console/jline/Console.java
Fri Aug 28 07:15:23 2009
@@ -219,7 +219,7 @@
} else {
i = queue.poll();
}
- if (i == null || i == 4) {
+ if (i == null) {
return -1;
}
return i;
@@ -275,34 +275,30 @@
} else {
c = terminal.readCharacter(in);
}
- if (c == -1 || c == 4)
+ if (c == -1)
{
- //System.err.println("Received " + c + " ...
closing");
- err.println("^D");
queue.put(c);
return;
}
+ else if (c == 4)
+ {
+ err.println("^D");
+ }
else if (c == 3)
{
err.println("^C");
reader.getCursorBuffer().clearBuffer();
interrupt();
- queue.put(c);
- }
- else
- {
- queue.put(c);
}
+ queue.put(c);
}
catch (Throwable t) {
- //System.err.println("Exception in pipe: " + t);
return;
}
}
}
finally
{
- //System.err.println("Exiting pipe thread");
close();
}
}