summaryrefslogtreecommitdiffstats
path: root/CGroup/Types.hs
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2014-11-04 00:00:40 +0100
committertv <tv@shackspace.de>2014-11-04 00:00:40 +0100
commita1aa9ddd72dfdec47399f29319f821f542906365 (patch)
treeb235d966ff561a649fb873072d5edd5969c082a6 /CGroup/Types.hs
parent0f447cd62836a5f5b29b8e14263fde89f446f52b (diff)
mv **.hs src/
Diffstat (limited to 'CGroup/Types.hs')
-rw-r--r--CGroup/Types.hs51
1 files changed, 0 insertions, 51 deletions
diff --git a/CGroup/Types.hs b/CGroup/Types.hs
deleted file mode 100644
index 98422f3..0000000
--- a/CGroup/Types.hs
+++ /dev/null
@@ -1,51 +0,0 @@
--- |
--- Module: CGroup.Types
--- Copyright: (c) 2014 Tomislav Viljetić
--- License: BSD3
--- Maintainer: Tomislav Viljetić <tomislav@viljetic.de>
---
-
-module CGroup.Types
- (
- -- * CGroup
- CGroup
- , cgroup
- , cgroupPath
- -- * Other types
- , ProcessID
- ) where
-
-import Data.Monoid
-import qualified System.FilePath as FP
-
-
--- | A 'CGroup' is defined by two 'FilePath's, a mount point and a cgroup
--- name. The mount point specifies where the cgroup hierarchy is mounted.
--- The cgroup name is a directory, relative to the mount point.
-data CGroup = CGroup { mountPoint, cgroupName :: FilePath }
- deriving Show
-
-
--- | Smart constructor. Takes a mount point and a cgroup name.
--- It will return 'Nothing' if the cgroup could point outside the mount point,
--- i.e. if the cgroup name is an absolute path, or contains @".."@.
-cgroup :: FilePath -> FilePath -> Maybe CGroup
-cgroup mp0 cgn0
- | ".." `elem` parts = Nothing
- | FP.isAbsolute cgn = Nothing
- | otherwise = Just CGroup { mountPoint = mp, cgroupName = cgn }
- where
- mp = normaliseMountPoint mp0
- cgn = normaliseCGroupName cgn0
- parts = FP.splitDirectories cgn
- normaliseMountPoint = FP.addTrailingPathSeparator . FP.normalise
- normaliseCGroupName = FP.dropTrailingPathSeparator . FP.normalise
-
-
--- | Path of a cgroup's tasks file.
-cgroupPath :: CGroup -> FilePath
-cgroupPath CGroup { mountPoint = mp, cgroupName = cgn } =
- mp <> cgn
-
-
-type ProcessID = Int