- Sort Score
- Result 10 results
- Languages All
Results 1 - 8 of 8 for semasleep (0.12 sec)
-
src/runtime/lock_sema.go
} return } // Queued. Sleep. gp.m.blocked = true if *cgo_yield == nil { semasleep(-1) } else { // Sleep for an arbitrary-but-moderate interval to poll libc interceptors. const ns = 10e6 for atomic.Loaduintptr(&n.key) == 0 { semasleep(ns) asmcgocall(*cgo_yield, nil) } } gp.m.blocked = false } //go:nosplit
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 6.8K bytes - Viewed (0) -
src/runtime/os_darwin.go
throw("pthread_cond_init") } } //go:nosplit func semasleep(ns int64) int32 { var start int64 if ns >= 0 { start = nanotime() } g := getg() mp := g.m if g == mp.gsignal { // sema sleep/wakeup are implemented with pthreads, which are not async-signal-safe on Darwin. throw("semasleep on Darwin signal stack") } pthread_mutex_lock(&mp.mutex) for { if mp.count > 0 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Dec 05 20:34:30 UTC 2023 - 11.9K bytes - Viewed (0) -
src/runtime/os_openbsd.go
func getPageSize() uintptr { if ps, ok := sysctlInt([]uint32{_CTL_HW, _HW_PAGESIZE}); ok { return uintptr(ps) } return 0 } //go:nosplit func semacreate(mp *m) { } //go:nosplit func semasleep(ns int64) int32 { gp := getg() // Compute sleep deadline. var tsp *timespec if ns >= 0 { var ts timespec ts.setNsec(ns + nanotime()) tsp = &ts } for {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 6.2K bytes - Viewed (0) -
src/runtime/os_aix.go
// here because it could cause a deadlock. sem = (*semt)(malloc(unsafe.Sizeof(*sem))) if sem_init(sem, 0, 0) != 0 { throw("sem_init") } mp.waitsema = uintptr(unsafe.Pointer(sem)) } //go:nosplit func semasleep(ns int64) int32 { mp := getg().m if ns >= 0 { var ts timespec if clock_gettime(_CLOCK_REALTIME, &ts) != 0 { throw("clock_gettime") } ts.tv_sec += ns / 1e9 ts.tv_nsec += ns % 1e9
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 8.9K bytes - Viewed (0) -
src/runtime/os_windows.go
case _WAIT_TIMEOUT: return -1 case _WAIT_ABANDONED: systemstack(func() { throw("runtime.semasleep wait_abandoned") }) case _WAIT_FAILED: systemstack(func() { print("runtime: waitforsingleobject wait_failed; errno=", getlasterror(), "\n") throw("runtime.semasleep wait_failed") }) default: systemstack(func() {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Apr 26 22:55:25 UTC 2024 - 41.5K bytes - Viewed (0) -
src/runtime/os_netbsd.go
func getOSRev() int { if osrev, ok := sysctlInt([]uint32{_CTL_KERN, _KERN_OSREV}); ok { return int(osrev) } return 0 } //go:nosplit func semacreate(mp *m) { } //go:nosplit func semasleep(ns int64) int32 { gp := getg() var deadline int64 if ns >= 0 { deadline = nanotime() + ns } for { v := atomic.Load(&gp.m.waitsemacount) if v > 0 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 10.1K bytes - Viewed (0) -
src/runtime/os_plan9.go
// We should never reach exitThread on Plan 9 because we let // the OS clean up threads. throw("exitThread") } //go:nosplit func semacreate(mp *m) { } //go:nosplit func semasleep(ns int64) int { gp := getg() if ns >= 0 { ms := timediv(ns, 1000000, nil) if ms == 0 { ms = 1 } ret := plan9_tsemacquire(&gp.m.waitsemacount, ms) if ret == 1 { return 0 // success
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 10.3K bytes - Viewed (0) -
src/runtime/os3_solaris.go
sem = (*semt)(unsafe.Pointer(mp.libcall.r1)) if sem_init(sem, 0, 0) != 0 { throw("sem_init") } mp.waitsema = uintptr(unsafe.Pointer(sem)) } //go:nosplit func semasleep(ns int64) int32 { mp := getg().m if ns >= 0 { mp.ts.tv_sec = ns / 1000000000 mp.ts.tv_nsec = ns % 1000000000 mp.libcall.fn = uintptr(unsafe.Pointer(&libc_sem_reltimedwait_np)) mp.libcall.n = 2
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 17.6K bytes - Viewed (0)