.
This commit is contained in:
@@ -38,6 +38,10 @@ if args.server:
|
|||||||
if(manager==None):
|
if(manager==None):
|
||||||
log.error("server mode selected, but manager not loaded maybe missing --configFile")
|
log.error("server mode selected, but manager not loaded maybe missing --configFile")
|
||||||
else:
|
else:
|
||||||
npServer = onlyone.namedpipes.Server(manager, "/tmp/onlyone_fifo")
|
npServer = None
|
||||||
log.info("server loaded...")
|
try:
|
||||||
input("[server mode]\n")
|
npServer = onlyone.namedpipes.Server(manager, "/tmp/onlyone_fifo")
|
||||||
|
log.info("server loaded...")
|
||||||
|
input("[server mode]\n")
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
log.info("dead")
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
import onlyone
|
import onlyone
|
||||||
import os
|
import os
|
||||||
import errno
|
import errno
|
||||||
@@ -5,10 +6,17 @@ import logging
|
|||||||
import threading
|
import threading
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
class ReadTask:
|
||||||
|
def __init__(self):
|
||||||
|
self.__kill=False
|
||||||
|
|
||||||
class Server:
|
def kill(self):
|
||||||
def __fifo_read(fifoname):
|
self.__kill=True
|
||||||
|
|
||||||
|
def run(self, fifoname):
|
||||||
while True:
|
while True:
|
||||||
|
if self.__kill:
|
||||||
|
return
|
||||||
log.info("Opening FIFO...")
|
log.info("Opening FIFO...")
|
||||||
with open(fifoname) as fifo:
|
with open(fifoname) as fifo:
|
||||||
log.info("FIFO opened")
|
log.info("FIFO opened")
|
||||||
@@ -19,6 +27,7 @@ class Server:
|
|||||||
break
|
break
|
||||||
log.info('FIFO Read: "{0}"'.format(data))
|
log.info('FIFO Read: "{0}"'.format(data))
|
||||||
|
|
||||||
|
class Server:
|
||||||
def __init__(self, manager:onlyone.Manager, fifoname:str):
|
def __init__(self, manager:onlyone.Manager, fifoname:str):
|
||||||
self.manager=manager
|
self.manager=manager
|
||||||
self__fifoname=fifoname
|
self__fifoname=fifoname
|
||||||
@@ -28,6 +37,9 @@ class Server:
|
|||||||
if oe.errno != errno.EEXIST:
|
if oe.errno != errno.EEXIST:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
readTask = ReadTask()
|
||||||
|
self.__readThread = threading.Thread(target=readTask.run, args = (fifoname,) )
|
||||||
|
#self.__readThread.start()
|
||||||
|
|
||||||
readThread = threading.Thread( target=Server.__fifo_read, args = (fifoname,) )
|
def kill(self):
|
||||||
readThread.start()
|
self.__readThread.kill()
|
||||||
Reference in New Issue
Block a user