Skip to content
Snippets Groups Projects
jssc-0.9.patch 3.69 KiB
Newer Older
  • Learn to ignore specific revisions
  • akwizgran's avatar
    akwizgran committed
    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());
                         }
                     }