def run(self): self.running = True self.isAlive = True try: while True: if not self.running: break while self.input.poll(): packet = self.input.read(1) status = packet[0][0][0] knob = packet[0][0][1] value = packet[0][0][2] print knob if status==144: pass #self.kill_callback() print "Knob: %d Value: %d , Status: %d" % (knob,value,status) if knob in self.callbacks: self.callbacks[knob](value) time.sleep(.01) except KeyboardInterrupt as e: print "MidiInput caught interrupt" threading.interrupt_main() print "Input threading quitting" self.isAlive = False midi.quit() sys.exit(0)
def error(input, thread_id=-1, force=False, crash=True): global debug_lock global debug_level if debug_level >= 1 \ or force == True: debug_lock.acquire() local_print(color_red + "[ERROR] " + input + color_default) debug_lock.release() if crash == True: if debug_callback != None: debug_callback() if thread_id != -1: threading.interrupt_main() if debug_last_log != None: local_print(color_red + debug_last_log + color_default) exit(-1)
def connect_to_client(dest_ip,dest_port,self): try: connect_socket = socket.socket() connect_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Addresse wieder verwenden connect_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) #Port wieder verwenden connect_socket.bind((self.ip, self.port)) #IP + Port "zusammenfuehren" #connect_socket.bind('', int(sys.argv[3])) => nur fuer loopback tests except: print ("Could not set up socket. (SYN flooding)") sys.exit(1) while(connect_socket.connect_ex((dest_ip, dest_port))): #SYN packets flooding pass print("connected!") thread.interrupt_main()
def listen(self): try: listen_socket = socket.socket() listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #Addresse wieder verwenden listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) #Port wieder verwenden listen_socket.bind((self.ip, self.port ))#IP + Port "zusammenfuehren" #listen_socket.bind('', int(sys.argv[3])) => nur fuer loopback tests except: print ("Could not set up socket. (Listening)") sys.exit(1) listen_socket.listen(5) #listen starten, auf das SYN flooding warten listen_socket.accept() # Verbindung annehmen print("connected!") thread.interrupt_main()
def close(): print 'Closing...' print th.current_thread() # sys.exit(0) th.interrupt_main()