diff options
| author | Sanjay Menakuru <balasanjay@gmail.com> | 2014-08-26 09:01:52 +0400 |
|---|---|---|
| committer | Dmitriy Vyukov <dvyukov@google.com> | 2014-08-26 09:01:52 +0400 |
| commit | 90653d7864818ebfc3a71eaf11c6ee9cdc7c1609 (patch) | |
| tree | 778af7f80700681afcf6eb434fd366b2476b7832 /src/pkg/runtime/proc.c | |
| parent | 32c0dce00ea2b641a6b2731aa2a149f4270ba663 (diff) | |
| download | go-90653d7864818ebfc3a71eaf11c6ee9cdc7c1609.tar.xz | |
runtime,sync: Convert procPin and procUnpin functions to Go.
LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews, khr
https://golang.org/cl/132880043
Diffstat (limited to 'src/pkg/runtime/proc.c')
| -rw-r--r-- | src/pkg/runtime/proc.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 483903d6d9..1f687ebc92 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -3292,3 +3292,23 @@ haveexperiment(int8 *name) } return 0; } + +#pragma textflag NOSPLIT +void +sync·runtime_procPin(intptr p) +{ + M *mp; + + mp = g->m; + // Disable preemption. + mp->locks++; + p = mp->p->id; + FLUSH(&p); +} + +#pragma textflag NOSPLIT +void +sync·runtime_procUnpin() +{ + g->m->locks--; +} |
