diff options
| -rw-r--r-- | bitbake/lib/bb/event.py | 8 | ||||
| -rw-r--r-- | bitbake/lib/bb/monitordisk.py | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 1116c0a7bf..20923b5f08 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
| @@ -312,6 +312,14 @@ class BuildCompleted(BuildBase, OperationCompleted): | |||
| 312 | OperationCompleted.__init__(self, total, "Building Failed") | 312 | OperationCompleted.__init__(self, total, "Building Failed") |
| 313 | BuildBase.__init__(self, n, p, failures) | 313 | BuildBase.__init__(self, n, p, failures) |
| 314 | 314 | ||
| 315 | class DiskFull(Event): | ||
| 316 | """Disk full case build aborted""" | ||
| 317 | def __init__(self, dev, type, freespace, mountpoint): | ||
| 318 | Event.__init__(self) | ||
| 319 | self._dev = dev | ||
| 320 | self._type = type | ||
| 321 | self._free = freespace | ||
| 322 | self._mountpoint = mountpoint | ||
| 315 | 323 | ||
| 316 | class NoProvider(Event): | 324 | class NoProvider(Event): |
| 317 | """No Provider for an Event""" | 325 | """No Provider for an Event""" |
diff --git a/bitbake/lib/bb/monitordisk.py b/bitbake/lib/bb/monitordisk.py index 946919396b..2bd488123e 100644 --- a/bitbake/lib/bb/monitordisk.py +++ b/bitbake/lib/bb/monitordisk.py | |||
| @@ -176,6 +176,7 @@ class diskMonitor: | |||
| 176 | def __init__(self, configuration): | 176 | def __init__(self, configuration): |
| 177 | 177 | ||
| 178 | self.enableMonitor = False | 178 | self.enableMonitor = False |
| 179 | self.configuration = configuration | ||
| 179 | 180 | ||
| 180 | BBDirs = configuration.getVar("BB_DISKMON_DIRS", True) or None | 181 | BBDirs = configuration.getVar("BB_DISKMON_DIRS", True) or None |
| 181 | if BBDirs: | 182 | if BBDirs: |
| @@ -219,10 +220,12 @@ class diskMonitor: | |||
| 219 | logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!") | 220 | logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!") |
| 220 | self.checked[dev] = True | 221 | self.checked[dev] = True |
| 221 | rq.finish_runqueue(False) | 222 | rq.finish_runqueue(False) |
| 223 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, self.devDict[dev][1]), self.configuration) | ||
| 222 | elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]: | 224 | elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]: |
| 223 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") | 225 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") |
| 224 | self.checked[dev] = True | 226 | self.checked[dev] = True |
| 225 | rq.finish_runqueue(True) | 227 | rq.finish_runqueue(True) |
| 228 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, self.devDict[dev][1]), self.configuration) | ||
| 226 | 229 | ||
| 227 | # The free inodes, float point number | 230 | # The free inodes, float point number |
| 228 | freeInode = st.f_favail | 231 | freeInode = st.f_favail |
| @@ -237,8 +240,10 @@ class diskMonitor: | |||
| 237 | logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!") | 240 | logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!") |
| 238 | self.checked[dev] = True | 241 | self.checked[dev] = True |
| 239 | rq.finish_runqueue(False) | 242 | rq.finish_runqueue(False) |
| 243 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeSpace, self.devDict[dev][1]), self.configuration) | ||
| 240 | elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]: | 244 | elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]: |
| 241 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") | 245 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") |
| 242 | self.checked[dev] = True | 246 | self.checked[dev] = True |
| 243 | rq.finish_runqueue(True) | 247 | rq.finish_runqueue(True) |
| 248 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeSpace, self.devDict[dev][1]), self.configuration) | ||
| 244 | return | 249 | return |
