|
@@ -41,12 +41,13 @@ const Clrscr = "\x1b[0m\x1b[2J\x1b[H"
|
|
|
const HideCursor = "\x1b[?25l"
|
|
|
const ShowCursor = "\x1b[?25h"
|
|
|
var Reset string = Color(0)
|
|
|
-var Unicode bool
|
|
|
-var CP437 bool
|
|
|
-var Full_CP437 bool
|
|
|
-var Height int
|
|
|
-var Width int
|
|
|
-var Inactivity int64 = 120
|
|
|
+
|
|
|
+var Unicode bool
|
|
|
+var CP437 bool
|
|
|
+var Full_CP437 bool
|
|
|
+var Height int
|
|
|
+var Width int
|
|
|
+var Inactivity int64 = 120
|
|
|
|
|
|
type MouseInfo struct {
|
|
|
Button int
|
|
@@ -91,15 +92,15 @@ type Door struct {
|
|
|
Config DropfileConfig
|
|
|
READFD int
|
|
|
WRITEFD int
|
|
|
- Disconnected int32
|
|
|
- TimeOut time.Time
|
|
|
- StartTime time.Time
|
|
|
- Pushback FIFOBuffer
|
|
|
- LastColor []int
|
|
|
- readerChannel chan byte
|
|
|
- ReaderCanClose bool
|
|
|
- writerChannel chan string
|
|
|
- closeChannel chan bool
|
|
|
+ Disconnected int32
|
|
|
+ TimeOut time.Time
|
|
|
+ StartTime time.Time
|
|
|
+ Pushback FIFOBuffer
|
|
|
+ LastColor []int
|
|
|
+ readerChannel chan byte
|
|
|
+ ReaderCanClose bool
|
|
|
+ writerChannel chan string
|
|
|
+ closeChannel chan struct{}
|
|
|
wg sync.WaitGroup
|
|
|
}
|
|
|
|
|
@@ -290,7 +291,7 @@ func (d *Door) Init(doorname string) {
|
|
|
|
|
|
d.readerChannel = make(chan byte, 8)
|
|
|
d.writerChannel = make(chan string)
|
|
|
- d.closeChannel = make(chan bool, 2)
|
|
|
+ d.closeChannel = make(chan struct{}, 2)
|
|
|
|
|
|
d.setupChannels()
|
|
|
|
|
@@ -314,7 +315,7 @@ func (d *Door) Close() {
|
|
|
}()
|
|
|
|
|
|
log.Println("Closing...")
|
|
|
- d.closeChannel <- true
|
|
|
+ d.closeChannel <- struct{}{}
|
|
|
|
|
|
|
|
|
|