Files
Nim/tests/osproc/tclose.nim
Michał Zieliński b2060acbc4 osproc: fix double close on POSIX (#5724)
Calling close() in some cases issued two close() syscalls to one FD, which is incorrect in multithreaded programs.
2018-04-16 20:02:26 +02:00

25 lines
506 B
Nim

discard """
exitcode: 0
"""
when defined(linux):
import osproc, os
proc countFds(): int =
result = 0
for i in walkDir("/proc/self/fd"):
result += 1
let initCount = countFds()
let p = osproc.startProcess("echo", options={poUsePath})
assert countFds() == initCount + 3
p.close
assert countFds() == initCount
let p1 = osproc.startProcess("echo", options={poUsePath})
discard p1.inputStream
assert countFds() == initCount + 3
p.close
assert countFds() == initCount