mirror of
https://github.com/golang/go
synced 2024-11-22 19:54:39 -07:00
misc/cgo/testsigfwd: delete unused code
This code was introduced in CL 17903 but has never executed. It's also fundamentally non-deterministic. Delete it. Simplification for #37486. Change-Id: I049564123fb4fba401154e2ea0fc429e552d4749 Reviewed-on: https://go-review.googlesource.com/c/go/+/431258 Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
44563340cc
commit
abd592b3d7
@ -7,14 +7,10 @@ package main
|
||||
import "fmt"
|
||||
|
||||
/*
|
||||
#cgo CFLAGS: -pthread
|
||||
#cgo LDFLAGS: -pthread
|
||||
|
||||
#include <signal.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
|
||||
int *p;
|
||||
static void sigsegv() {
|
||||
@ -30,60 +26,12 @@ static void segvhandler(int signum) {
|
||||
}
|
||||
}
|
||||
|
||||
static volatile sig_atomic_t sigioSeen;
|
||||
|
||||
// Use up some stack space.
|
||||
static void recur(int i, char *p) {
|
||||
char a[1024];
|
||||
|
||||
*p = '\0';
|
||||
if (i > 0) {
|
||||
recur(i - 1, a);
|
||||
}
|
||||
}
|
||||
|
||||
static void iohandler(int signum) {
|
||||
char a[1024];
|
||||
|
||||
recur(4, a);
|
||||
sigioSeen = 1;
|
||||
}
|
||||
|
||||
static void* sigioThread(void* arg __attribute__ ((unused))) {
|
||||
raise(SIGIO);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void sigioOnThread() {
|
||||
pthread_t tid;
|
||||
int i;
|
||||
|
||||
pthread_create(&tid, NULL, sigioThread, NULL);
|
||||
pthread_join(tid, NULL);
|
||||
|
||||
// Wait until the signal has been delivered.
|
||||
i = 0;
|
||||
while (!sigioSeen) {
|
||||
if (sched_yield() < 0) {
|
||||
perror("sched_yield");
|
||||
}
|
||||
i++;
|
||||
if (i > 10000) {
|
||||
fprintf(stderr, "looping too long waiting for signal\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void __attribute__ ((constructor)) sigsetup(void) {
|
||||
struct sigaction act;
|
||||
|
||||
memset(&act, 0, sizeof act);
|
||||
act.sa_handler = segvhandler;
|
||||
sigaction(SIGSEGV, &act, NULL);
|
||||
|
||||
act.sa_handler = iohandler;
|
||||
sigaction(SIGIO, &act, NULL);
|
||||
}
|
||||
*/
|
||||
import "C"
|
||||
|
Loading…
Reference in New Issue
Block a user