aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/export_futex_test.go
blob: a727a9311450b292f818c3d79bf0e274f4521ac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// +build dragonfly freebsd linux

package runtime

var Futexwakeup = futexwakeup

//go:nosplit
func Futexsleep(addr *uint32, val uint32, ns int64) {
	// Temporarily disable preemption so that a preemption signal
	// doesn't interrupt the system call.
	poff := debug.asyncpreemptoff
	debug.asyncpreemptoff = 1
	futexsleep(addr, val, ns)
	debug.asyncpreemptoff = poff
}