aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/sigqueue.goc
diff options
context:
space:
mode:
authorDmitriy Vyukov <dvyukov@google.com>2013-07-22 23:02:27 +0400
committerDmitriy Vyukov <dvyukov@google.com>2013-07-22 23:02:27 +0400
commite97d677b4eaa6db4d70ae1d855d2cc5a4b0fdeff (patch)
tree5574b0886619a085bd84ff0fa70b08abd51fc6f6 /src/pkg/runtime/sigqueue.goc
parent9fe4a9ecdd674efafc173f3c7e99f7b34a6c544a (diff)
downloadgo-e97d677b4eaa6db4d70ae1d855d2cc5a4b0fdeff.tar.xz
runtime: introduce notetsleepg function
notetsleepg is the same as notetsleep, but is called on user g. It includes entersyscall/exitsyscall and will help to avoid split stack functions in syscall status. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11681043
Diffstat (limited to 'src/pkg/runtime/sigqueue.goc')
-rw-r--r--src/pkg/runtime/sigqueue.goc4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/pkg/runtime/sigqueue.goc b/src/pkg/runtime/sigqueue.goc
index 9bfab3bfae..e430e2103d 100644
--- a/src/pkg/runtime/sigqueue.goc
+++ b/src/pkg/runtime/sigqueue.goc
@@ -106,9 +106,7 @@ func signal_recv() (m uint32) {
new = HASWAITER;
if(runtime·cas(&sig.state, old, new)) {
if (new == HASWAITER) {
- runtime·entersyscallblock();
- runtime·notesleep(&sig);
- runtime·exitsyscall();
+ runtime·notetsleepg(&sig, -1);
runtime·noteclear(&sig);
}
break;