From b93fbcf09a174b559da9ef07d9bb698e93c04972 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 3 Dec 2018 12:04:46 -0800 Subject: [PATCH] add osproc.processID() --- lib/pure/osproc.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index a9f37412f3..02aac5cbde 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -158,6 +158,15 @@ proc processID*(p: Process): int {.rtl, extern: "nosp$1".} = ## returns `p`'s process ID. return p.id +proc processID*(): int = + ## return current process ID + when defined(windows): + proc GetCurrentProcessId(): int32 {.stdcall, dynlib: "kernel32", + importc: "GetCurrentProcessId".} + result = GetCurrentProcessId() + else: + result = getpid() + proc waitForExit*(p: Process, timeout: int = -1): int {.rtl, extern: "nosp$1", tags: [].} ## waits for the process to finish and returns `p`'s error code. @@ -1341,3 +1350,4 @@ proc execCmdEx*(command: string, options: set[ProcessOption] = { result[1] = peekExitCode(p) if result[1] != -1: break close(p) +