From: Leandro Lucarella Date: Sat, 27 Oct 2007 20:50:29 +0000 (-0300) Subject: Add a timer handler to ppp to monitor ppp connections state. X-Git-Url: https://git.llucax.com/software/pymin.git/commitdiff_plain/9a8d314470c4fa1f0fb347470983365853d663d4?ds=inline;hp=-c Add a timer handler to ppp to monitor ppp connections state. --- 9a8d314470c4fa1f0fb347470983365853d663d4 diff --git a/pymin/services/ppp/__init__.py b/pymin/services/ppp/__init__.py index c251e50..2115d65 100644 --- a/pymin/services/ppp/__init__.py +++ b/pymin/services/ppp/__init__.py @@ -1,6 +1,7 @@ # vim: set encoding=utf-8 et sw=4 sts=4 : import os +import subprocess from os import path from signal import SIGTERM @@ -162,6 +163,16 @@ class PppHandler(Restorable, ConfigWriter, ReloadHandler, TransactionalHandler): else: raise ConnectionNotFoundError(name) + def handle_timer(self): + for c in self.conns.values(): + p = subprocess.Popen(('pgrep', '-f', 'pppd call ' + c.name), + stdout=subprocess.PIPE) + pid = p.communicate()[0] + if p.wait() == 0 and len(pid) > 0: + c._running = True + else: + c._running = False + def _write_config(self): r"_write_config() -> None :: Generate all the configuration files." #guardo los pass que van el pap-secrets