From 21f62fd994ffec9c183c82865ac3d588940ef12d Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Sat, 7 Apr 2012 16:43:54 -0700 Subject: [PATCH] stats locking --- monitor.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/monitor.py b/monitor.py index c617a46..af1f6cb 100755 --- a/monitor.py +++ b/monitor.py @@ -20,6 +20,7 @@ # along with System-Monitoring-Daemon. If not, see . ## +import threading from socket import * HOST = '' @@ -31,8 +32,27 @@ MAX_QUEUE = 5 class Stats: def __init__(self): + self.read_lock = threading.Lock() + self.write_lock = threading.Lock() + self.cpu_load = 50 + def acquire_read(self): + self.read_lock.acquire() + self.write_lock.acquire() + + def release_read(self): + self.write_lock.release() + self.read_lock.release() + + def acquire_write(self): + self.write_lock.acquire() + + def release_write(self): + self.write_lock.release() + + + class ClientHandler: def __init__(self, stats): self.stats = stats