fix: fixed file descriptors leak (#384)

This commit is contained in:
Serhiy Mytrovtsiy
2021-03-26 21:56:28 +01:00
parent adcb0da9ab
commit 76500207c9
5 changed files with 30 additions and 0 deletions

View File

@@ -158,6 +158,11 @@ public class ProcessReader: Reader<[TopProcess]> {
self.popup = true
let pipe = Pipe()
defer {
pipe.fileHandleForReading.closeFile()
}
self.task.standardOutput = pipe
self.task.launchPath = "/usr/bin/top"
self.task.arguments = ["-o", "power", "-n", "\(self.numberOfProcesses)", "-stats", "pid,command,power"]

View File

@@ -176,6 +176,11 @@ public class ProcessReader: Reader<[TopProcess]> {
let outputPipe = Pipe()
let errorPipe = Pipe()
defer {
outputPipe.fileHandleForReading.closeFile()
errorPipe.fileHandleForReading.closeFile()
}
task.standardOutput = outputPipe
task.standardError = errorPipe

View File

@@ -135,6 +135,11 @@ internal class UsageReader: Reader<Network_Usage> {
let outputPipe = Pipe()
let errorPipe = Pipe()
defer {
outputPipe.fileHandleForReading.closeFile()
errorPipe.fileHandleForReading.closeFile()
}
task.standardOutput = outputPipe
task.standardError = errorPipe
@@ -299,6 +304,11 @@ public class ProcessReader: Reader<[Network_Process]> {
let outputPipe = Pipe()
let errorPipe = Pipe()
defer {
outputPipe.fileHandleForReading.closeFile()
errorPipe.fileHandleForReading.closeFile()
}
task.standardOutput = outputPipe
task.standardError = errorPipe

View File

@@ -120,6 +120,11 @@ public class ProcessReader: Reader<[TopProcess]> {
let outputPipe = Pipe()
let errorPipe = Pipe()
defer {
outputPipe.fileHandleForReading.closeFile()
errorPipe.fileHandleForReading.closeFile()
}
task.standardOutput = outputPipe
task.standardError = errorPipe

View File

@@ -304,6 +304,11 @@ public class SystemKit {
let outputPipe = Pipe()
let errorPipe = Pipe()
defer {
outputPipe.fileHandleForReading.closeFile()
errorPipe.fileHandleForReading.closeFile()
}
task.standardOutput = outputPipe
task.standardError = errorPipe