From 819e2c1b74758394c1d3bf158c25fd626a64c11e Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Fri, 4 Jan 2013 01:42:33 +0000 Subject: [PATCH] Added patch for jSSC. --- jssc-0.9.patch | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 jssc-0.9.patch diff --git a/jssc-0.9.patch b/jssc-0.9.patch new file mode 100644 index 0000000000..99c83968a8 --- /dev/null +++ b/jssc-0.9.patch @@ -0,0 +1,84 @@ +diff -Bbur jSSC-0.9.0-Release/src/jssc/SerialPort.java jSSC-0.9.0-briar/src/jssc/SerialPort.java +--- jSSC-0.9.0-Release/src/jssc/SerialPort.java 2011-12-21 13:29:10.000000000 +0000 ++++ jSSC-0.9.0-briar/src/jssc/SerialPort.java 2012-12-06 15:07:37.786033300 +0000 +@@ -30,13 +30,13 @@ + */ + public class SerialPort { + +- private SerialNativeInterface serialInterface; +- private SerialPortEventListener eventListener; +- private int portHandle; +- private String portName; +- private boolean portOpened = false; +- private boolean maskAssigned = false; +- private boolean eventListenerAdded = false; ++ private volatile SerialNativeInterface serialInterface; ++ private volatile SerialPortEventListener eventListener; ++ private volatile int portHandle; ++ private volatile String portName; ++ private volatile boolean portOpened = false; ++ private volatile boolean maskAssigned = false; ++ private volatile boolean eventListenerAdded = false; + + + public static final int BAUDRATE_110 = 110; +@@ -915,7 +915,7 @@ + + private class EventThread extends Thread { + +- private boolean threadTerminated = false; ++ private volatile boolean threadTerminated = false; + + @Override + public void run() { +diff -Bbur jSSC-0.9.0-Release/src/jssc/SerialPortList.java jSSC-0.9.0-briar/src/jssc/SerialPortList.java +--- jSSC-0.9.0-Release/src/jssc/SerialPortList.java 2011-12-21 13:30:30.000000000 +0000 ++++ jSSC-0.9.0-briar/src/jssc/SerialPortList.java 2012-12-06 14:31:50.142033801 +0000 +@@ -97,20 +97,15 @@ + */ + private static String[] getLinuxPortNames() { + String[] returnArray = new String[]{}; +- try { +- Process dmesgProcess = Runtime.getRuntime().exec("dmesg"); +- BufferedReader reader = new BufferedReader(new InputStreamReader(dmesgProcess.getInputStream())); ++ File dir = new File("/dev"); ++ if(dir.exists() && dir.isDirectory()){ ++ File[] files = dir.listFiles(); ++ if(files.length > 0){ + TreeSet<String> portsTree = new TreeSet<String>(); + ArrayList<String> portsList = new ArrayList<String>(); +- String buffer = ""; +- while((buffer = reader.readLine()) != null && !buffer.isEmpty()){ +- if(buffer.matches(".*(ttyS|ttyUSB)[0-9]{1,3}.*")){ +- String[] tmp = buffer.split(" "); +- for(String value : tmp){ +- if(value.matches("(ttyS|ttyUSB)[0-9]{1,3}")){ +- portsTree.add("/dev/" + value); +- } +- } ++ for(File file : files){ ++ if(!file.isDirectory() && !file.isFile() && file.getName().matches(".*(ttyS|ttyUSB|ttyACM)[0-9]{1,3}.*")){ ++ portsTree.add("/dev/" + file.getName()); + } + } + for(String portName : portsTree){ +@@ -130,10 +125,7 @@ + } + } + returnArray = portsList.toArray(returnArray); +- reader.close(); + } +- catch (IOException ex) { +- //Do nothing + } + return returnArray; + } +@@ -179,7 +171,7 @@ + TreeSet<String> portsTree = new TreeSet<String>(); + ArrayList<String> portsList = new ArrayList<String>(); + for(File file : files){ +- if(!file.isDirectory() && !file.isFile() && file.getName().matches("tty.(serial.*|usbserial.*)")){ ++ if(!file.isDirectory() && !file.isFile() && file.getName().matches("tty.(modem.*|usbmodem.*|serial.*|usbserial.*)")){ + portsTree.add("/dev/" + file.getName()); + } + } -- GitLab