Merge pull request #1636 from rbehrends/fix-thread-issues

Fix some thread issues
This commit is contained in:
Andreas Rumpf
2014-11-08 21:19:42 +01:00
2 changed files with 1 additions and 12 deletions

View File

@@ -1061,8 +1061,7 @@ proc genMainProc(m: BModule) =
gBreakpoints.app(m.genFilenames)
let initStackBottomCall =
if emulatedThreadVars() or
platform.targetOS == osStandalone: "".toRope
if platform.targetOS == osStandalone: "".toRope
else: ropecg(m, "\t#initStackBottomWith((void *)&inner);$N")
inc(m.labels)
appcg(m, m.s[cfsProcs], PreMainBody, [

View File

@@ -116,16 +116,6 @@ else:
proc pthread_cancel(a1: TSysThread): cint {.
importc: "pthread_cancel", header: "<pthread.h>".}
proc acquireSysTimeoutAux(L: var TSysLock, timeout: var Ttimespec): cint {.
importc: "pthread_mutex_timedlock", header: "<time.h>".}
proc acquireSysTimeout(L: var TSysLock, msTimeout: int) {.inline.} =
var a: Ttimespec
a.tv_sec = msTimeout div 1000
a.tv_nsec = (msTimeout mod 1000) * 1000
var res = acquireSysTimeoutAux(L, a)
if res != 0'i32: raise newException(EResourceExhausted, $strerror(res))
type
TThreadVarSlot {.importc: "pthread_key_t", pure, final,
header: "<sys/types.h>".} = object