This commit is contained in:
2022-01-19 13:35:00 +00:00
parent 2fb45319d7
commit 6d2ab26937
2 changed files with 23 additions and 7 deletions

View File

@@ -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 = None
try:
npServer = onlyone.namedpipes.Server(manager, "/tmp/onlyone_fifo") npServer = onlyone.namedpipes.Server(manager, "/tmp/onlyone_fifo")
log.info("server loaded...") log.info("server loaded...")
input("[server mode]\n") input("[server mode]\n")
except KeyboardInterrupt:
log.info("dead")

View File

@@ -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()