From 9a94be9a1f071f29e23634864f757151a7ebb03f Mon Sep 17 00:00:00 2001 From: "svein.ove" Date: Mon, 2 Nov 2009 18:38:11 +0100 Subject: Since ACPI reads can be slow, use a helper /bin/cat process to perform them Ignore-this: ae34afa8524d6cfb6baab8eb6c3a3b85 darcs-hash:20091102173811-f57bf-470bb638c0c64ddc093c2238d600772525035ea0.gz --- Plugins/Monitors/Batt.hs | 2 +- Plugins/Monitors/Common.hs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'Plugins') diff --git a/Plugins/Monitors/Batt.hs b/Plugins/Monitors/Batt.hs index af5a48c..78d9eae 100644 --- a/Plugins/Monitors/Batt.hs +++ b/Plugins/Monitors/Batt.hs @@ -36,7 +36,7 @@ readFileBatt (i,s) = return (a,b) where rf file = do f <- fileExist file - if f then B.readFile file else return B.empty + if f then catRead file else return B.empty parseBATT :: [(String, String)] -> IO Batt parseBATT bfs = diff --git a/Plugins/Monitors/Common.hs b/Plugins/Monitors/Common.hs index 779c6f4..caf2e98 100644 --- a/Plugins/Monitors/Common.hs +++ b/Plugins/Monitors/Common.hs @@ -43,6 +43,7 @@ module Plugins.Monitors.Common ( -- * Threaded Actions -- $thread , doActionTwiceWithDelay + , catRead ) where @@ -56,6 +57,7 @@ import Numeric import Text.ParserCombinators.Parsec import System.Console.GetOpt import Control.Exception (SomeException,handle) +import System.Process(readProcess) import Plugins -- $monitor @@ -306,3 +308,6 @@ getData action var d = do threadDelay d s <- action modifyMVar_ var (\_ -> return $! s) + +catRead :: FilePath -> IO B.ByteString +catRead file = B.pack `fmap` readProcess "/bin/cat" [file] "" -- cgit v1.2.3