def SvcDoRun(self):
		try:
			if '' not in sys.path:
				sys.path = [''] + sys.path
			if main_is_frozen():
				os.chdir( os.path.dirname(sys.executable) )
			from porcupineserver import PorcupineServer
			self.server = PorcupineServer()
			self.server.shutdownEvt.wait()
		except Exception, e:
			print e
			if self.server:
				self.server.initiateShutdown()
			raise
class PorcupineServerService(win32serviceutil.ServiceFramework):
	_svc_name_ = 'Porcupine'
	_svc_display_name_ = 'Porcupine Server'

	def __init__(self, args):
		win32serviceutil.ServiceFramework.__init__(self, args)
		sys.stdout = open('nul', 'w')
		sys.stderr = open('nul', 'w')
		self.server = None

	def SvcDoRun(self):
		try:
			if '' not in sys.path:
				sys.path = [''] + sys.path
			if main_is_frozen():
				os.chdir( os.path.dirname(sys.executable) )
			from porcupineserver import PorcupineServer
			self.server = PorcupineServer()
			self.server.shutdownEvt.wait()
		except Exception, e:
			print e
			if self.server:
				self.server.initiateShutdown()
			raise