]> Cypherpunks repositories - gostls13.git/commit
runtime: co-exist with NPTL's pthread_cancel.
authorRowan Worth <sqweek@gmail.com>
Thu, 9 Jan 2014 17:34:04 +0000 (09:34 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 9 Jan 2014 17:34:04 +0000 (09:34 -0800)
commitc4770b991b7ad56660d45a02213b71bbb6361e8e
tree882dfa25200b97981506482bbc1e324941b5442c
parentd1ba298ad21626e48d4ab8ac2a05af0c50bc87f5
runtime: co-exist with NPTL's pthread_cancel.

NPTL uses SIGRTMIN (signal 32) to effect thread cancellation.
Go's runtime replaces NPTL's signal handler with its own, and
ends up aborting if a C library that ends up calling
pthread_cancel is used.

This patch prevents runtime from replacing NPTL's handler.

Fixes #6997.

R=golang-codereviews, iant, dvyukov
CC=golang-codereviews
https://golang.org/cl/47540043
misc/cgo/test/cgo_linux_test.go
misc/cgo/test/issue6997_linux.c [new file with mode: 0644]
misc/cgo/test/issue6997_linux.go [new file with mode: 0644]
src/pkg/runtime/signals_linux.h