Merge pull request #4522 from coffeepots/patch-2
Add handle function to Thread type
This commit is contained in:
commit
27a40cd5a4
1 changed files with 6 additions and 2 deletions
|
|
@ -51,7 +51,7 @@ const
|
||||||
|
|
||||||
when defined(windows):
|
when defined(windows):
|
||||||
type
|
type
|
||||||
SysThread = Handle
|
SysThread* = Handle
|
||||||
WinThreadProc = proc (x: pointer): int32 {.stdcall.}
|
WinThreadProc = proc (x: pointer): int32 {.stdcall.}
|
||||||
{.deprecated: [TSysThread: SysThread, TWinThreadProc: WinThreadProc].}
|
{.deprecated: [TSysThread: SysThread, TWinThreadProc: WinThreadProc].}
|
||||||
|
|
||||||
|
|
@ -123,7 +123,7 @@ else:
|
||||||
type Time = int
|
type Time = int
|
||||||
|
|
||||||
type
|
type
|
||||||
SysThread {.importc: "pthread_t", header: "<sys/types.h>",
|
SysThread* {.importc: "pthread_t", header: "<sys/types.h>",
|
||||||
final, pure.} = object
|
final, pure.} = object
|
||||||
Pthread_attr {.importc: "pthread_attr_t",
|
Pthread_attr {.importc: "pthread_attr_t",
|
||||||
header: "<sys/types.h>", final, pure.} = object
|
header: "<sys/types.h>", final, pure.} = object
|
||||||
|
|
@ -379,6 +379,10 @@ proc running*[TArg](t: Thread[TArg]): bool {.inline.} =
|
||||||
## returns true if `t` is running.
|
## returns true if `t` is running.
|
||||||
result = t.dataFn != nil
|
result = t.dataFn != nil
|
||||||
|
|
||||||
|
proc handle*[TArg](t: Thread[TArg]): SysThread {.inline.} =
|
||||||
|
## returns the thread handle of `t`.
|
||||||
|
result = t.sys
|
||||||
|
|
||||||
when hostOS == "windows":
|
when hostOS == "windows":
|
||||||
proc joinThread*[TArg](t: Thread[TArg]) {.inline.} =
|
proc joinThread*[TArg](t: Thread[TArg]) {.inline.} =
|
||||||
## waits for the thread `t` to finish.
|
## waits for the thread `t` to finish.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue