code/imports cleanup
[svn42.git] / go / door_daemon_zmq / serial_tty.go
index 89f0b0c..e609971 100644 (file)
@@ -3,20 +3,19 @@
 package main
 
 import (
-    "fmt"
     "bufio"
     "bytes"
     "os"
     "svn.spreadspace.org/realraum/go.svn/termios"
-    "log"
 )
 
+
 // ---------- Serial TTY Code -------------
 
 func openTTY(name string) (*os.File, error) {
     file, err := os.OpenFile(name,os.O_RDWR, 0600) // For read access.
     if err != nil {
-        log.Println(err.Error())
+        Syslog_.Println(err.Error())
         return nil, err
     }
     termios.Ttyfd(file.Fd())
@@ -29,6 +28,7 @@ func serialWriter(in <- chan string, serial * os.File) {
         serial.WriteString(totty)
         serial.Sync()
     }
+    serial.Close()
 }
 
 func serialReader(out chan <- [][]byte, serial * os.File) {
@@ -36,7 +36,7 @@ func serialReader(out chan <- [][]byte, serial * os.File) {
     linescanner.Split(bufio.ScanLines)
     for linescanner.Scan() {
         if err := linescanner.Err(); err != nil {
-            panic(fmt.Sprintf("Error in read from serial: %v\n",err.Error()))
+            panic(err.Error())
         }
         text := bytes.Fields([]byte(linescanner.Text()))
         if len(text) == 0 {
@@ -51,7 +51,7 @@ func OpenAndHandleSerial(filename string) (chan string, chan [][]byte, error) {
     if err != nil {
         return nil, nil, err
     }
-    wr := make(chan string)
+    wr := make(chan string, 1)
        rd := make(chan [][]byte, 20)
     go serialWriter(wr, serial)
     go serialReader(rd, serial)