Конечная точка транспорта Python уже подключена

#python #unix

Вопрос:

     def ask(self):
        self.mutex.acquire()
        self.sock.connect(self.address)
        self.sock.sendall(Utility.tolength("DO UNIX-Terminal -1", " ", 2048).encode())
        m = self.sock.recv(2048)
        self.sock.close()
        self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        self.mutex.release()
        return m
 

После использования функции ask() я получаю следующее исключение:

 File "./DeviceServerRequester.py", line 22, in ask
self.sock.connect(self.address)
OSError: [Errno 106] Transport endpoint is already connected
 

Я имею в виду, я закрываю розетку. Я восстанавливаю сокет. Все происходит внутри мьютекса…
Я не понимаю, почему ОС продолжает подключаться.

Изменить: Базовый сервер выглядит следующим образом:

     def run(self):
    self.bindsocket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    self.bindsocket.bind(self.adress)
    self.bindsocket.listen()

    while True:
        newsocket, addr = self.bindsocket.accept()

        string = newsocket.recv(2048).decode()
        (deviceid, cmd, cmdargs, _) = string.split(" ", 3)

        if cmd == "DO":
            message = "OK: "
            backmessage = self.give(self, deviceid, cmd, cmdargs)
            message = (message   backmessage)
            newsocket.sendall((message   " "*(MESSAGELENGTH-len(br))).encode())
        else:
            br = "BAD REQUEST"
            newsocket.sendall((br   " "*(MESSAGELENGTH-len(br))).encode())

        newsocket.close()
 

ПРАВКА: Я мог бы добавить, что иногда кажется, что это работает в течение некоторого времени. Я запускаю более одного uwsgi — экземпляра.

ПРАВКА: Кто-нибудь знает, что еще может вызвать эту ошибку при запуске нескольких процессов клиента? Он работает с одной обработкой.