예제 #1
0
    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)
예제 #2
0
파일: debug.py 프로젝트: jayvdb/realog
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)
예제 #3
0
    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()
예제 #4
0
    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()
예제 #5
0
def close():
    print 'Closing...'
    print th.current_thread()
    # sys.exit(0)
    th.interrupt_main()