]> Cypherpunks repositories - gostls13.git/commitdiff
cgo/runtime: replace sigprocmask with pthread_sigmask.
authorS.Çağlar Onur <caglar@10ur.org>
Sun, 22 Dec 2013 16:55:29 +0000 (08:55 -0800)
committerIan Lance Taylor <iant@golang.org>
Sun, 22 Dec 2013 16:55:29 +0000 (08:55 -0800)
sigprocmask use in a multithreaded environment is undefined so replace it with pthread_sigmask.

Fixes #6811.

R=jsing, iant
CC=golang-codereviews, golang-dev
https://golang.org/cl/30460043

src/pkg/runtime/cgo/gcc_dragonfly_386.c
src/pkg/runtime/cgo/gcc_dragonfly_amd64.c
src/pkg/runtime/cgo/gcc_freebsd_386.c
src/pkg/runtime/cgo/gcc_freebsd_amd64.c
src/pkg/runtime/cgo/gcc_linux_386.c
src/pkg/runtime/cgo/gcc_linux_amd64.c
src/pkg/runtime/cgo/gcc_netbsd_386.c
src/pkg/runtime/cgo/gcc_netbsd_amd64.c
src/pkg/runtime/cgo/gcc_netbsd_arm.c
src/pkg/runtime/cgo/gcc_openbsd_386.c
src/pkg/runtime/cgo/gcc_openbsd_amd64.c

index 6797824c6d1d1728f97f615d9a5df0dd72767d0e..695c16634bc11d573a4429aa589fde75d11c71c6 100644 (file)
@@ -36,14 +36,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        SIGFILLSET(ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index eb342a2ff5543cc0e996c55322ebfa865ce32713..a46c121ad93d2da2f88fc9e43430857a7a9fc447 100644 (file)
@@ -35,7 +35,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        SIGFILLSET(ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
@@ -43,7 +43,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index 6797824c6d1d1728f97f615d9a5df0dd72767d0e..695c16634bc11d573a4429aa589fde75d11c71c6 100644 (file)
@@ -36,14 +36,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        SIGFILLSET(ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index eb342a2ff5543cc0e996c55322ebfa865ce32713..a46c121ad93d2da2f88fc9e43430857a7a9fc447 100644 (file)
@@ -35,7 +35,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        SIGFILLSET(ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
@@ -43,7 +43,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index c25c7b70fcfdc40cebb3436fb5d51bf2dd9a688b..0a46c9b7a2a95087f0101c1232872f92292139a9 100644 (file)
@@ -34,7 +34,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        // Not sure why the memset is necessary here,
        // but without it, we get a bogus stack size
@@ -46,7 +46,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index bd7c88d9917da09897ea35b7192f3d0c4bc66942..c530183b73189c665f26c002ad7acbf83cb6fd3d 100644 (file)
@@ -34,14 +34,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index b399e16dc45917842dfa9b48d8b959d962b01805..28690ccbdf66ccb28d109993609e734eaa59562a 100644 (file)
@@ -35,14 +35,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index f27e142ce1617d54367e2e8c4b135f69106a4750..6e0482d5b18781d7b823d25a99126f3d202693a4 100644 (file)
@@ -35,7 +35,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
@@ -43,7 +43,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index 68c8b6e718b7e2517325a82df34982fb56a9b9c0..ba2ae2568c92e19c38c77a72f2ce255121fdfb73 100644 (file)
@@ -36,14 +36,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index 6422d1b931f6b78fedab50444ee25a066eafda7a..e682c372515b80e2fe63f2b5991f80c9bab89e82 100644 (file)
@@ -122,14 +122,14 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
        ts->g->stackguard = size;
        err = sys_pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
index 5a5a171143bb7bbfbb30b01c37ef46b6cb133bad..64d29a935b2a524c65db8fabef604fe006dbe9b8 100644 (file)
@@ -122,7 +122,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        int err;
 
        sigfillset(&ign);
-       sigprocmask(SIG_SETMASK, &ign, &oset);
+       pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
        pthread_attr_init(&attr);
        pthread_attr_getstacksize(&attr, &size);
@@ -130,7 +130,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        ts->g->stackguard = size;
        err = sys_pthread_create(&p, &attr, threadentry, ts);
 
-       sigprocmask(SIG_SETMASK, &oset, nil);
+       pthread_sigmask(SIG_SETMASK, &oset, nil);
 
        if (err != 0) {
                fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));