From: Calin Crisan Date: Sun, 9 Aug 2015 09:35:39 +0000 (+0300) Subject: mjpgclient: detect and ignore connection refused errors X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=173f7d9262b311707ba2eeb40464af68b3d3d727;p=motioneye-debian mjpgclient: detect and ignore connection refused errors --- diff --git a/src/mjpgclient.py b/src/mjpgclient.py index 8c8de0e..088a962 100644 --- a/src/mjpgclient.py +++ b/src/mjpgclient.py @@ -16,6 +16,7 @@ # along with this program. If not, see . import datetime +import errno import logging import re import socket @@ -62,19 +63,19 @@ class MjpgClient(iostream.IOStream): if MjpgClient.clients.pop(self._camera_id, None): MjpgClient.last_access.pop(self._camera_id, None) MjpgClient.last_jpg_moment.pop(self._camera_id, None) - + logging.debug('mjpg client for camera %(camera_id)s on port %(port)s removed' % { 'port': self._port, 'camera_id': self._camera_id}) - - if getattr(self, 'error', None): + + if getattr(self, 'error', None) and self.error.errno != errno.ECONNREFUSED: now = time.time() if now - MjpgClient.last_erroneous_close_time < settings.MJPG_CLIENT_TIMEOUT: logging.error('connection problem detected for mjpg client for camera %(camera_id)s on port %(port)s' % { 'port': self._port, 'camera_id': self._camera_id}) - + motionctl.stop(invalidate=True) # this will close all the mjpg clients motionctl.start(deferred=True) - + MjpgClient.last_erroneous_close_time = now def _check_error(self):