Changeset - a54daf689665
[Not reviewed]
default
0 2 0
Laman - 8 years ago 2017-01-07 23:02:14

core exiting on gui exit
2 files changed with 12 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/core.py
Show inline comments
 
import os
 
import multiprocessing
 
import threading
 
import logging as log
 
import PIL
 
from util import MsgQueue
 
@@ -18,7 +20,8 @@ class Core:
 
		self._ownMessages=MsgQueue(self._handleEvent)
 
		self._guiMessages=MsgQueue()
 

	
 
		self._frame=PIL.Image.open("../images/7.jpg")
 
		imgPath=os.path.join(os.path.dirname(__file__), "..","images","7.jpg")
 
		self._frame=PIL.Image.open(imgPath)
 

	
 
		self._guiProc=multiprocessing.Process(name="gui", target=gui, args=(self._guiMessages,self._ownMessages))
 
		self._guiProc.start()
 
@@ -36,7 +39,12 @@ class Core:
 
			self._guiMessages.send("setGameState",(self.detector.board,))
 

	
 
	def listen(self):
 
		self._ownMessages.listen()
 
		listenerThread=threading.Thread(target=lambda: self._ownMessages.listen())
 
		listenerThread.start()
 

	
 
	def joinGui(self):
 
		self._guiProc.join()
 
		self._ownMessages.send("kill")
 

	
 
	def _handleEvent(self,e):
 
		actions={"setCorners":self.setCorners, "setTresholds":self.setTresholds}
 
@@ -46,6 +54,7 @@ class Core:
 

	
 
core=Core()
 
core.listen()
 
core.joinGui()
 

	
 
"""
 
core
src/util.py
Show inline comments
 
@@ -22,6 +22,7 @@ class MsgQueue:
 
			if self._queue.empty():
 
				self._event.clear()
 
			log.info(msg)
 
			if msg[0]=="kill": break
 
			self._handleEvent(msg)
 

	
 
	def setHandler(self,handler):
0 comments (0 inline, 0 general)