1
0
mirror of https://github.com/golang/go synced 2024-11-26 16:07:00 -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:
Austin Clements 2022-09-15 15:34:07 -04:00
parent 44563340cc
commit abd592b3d7

View File

@ -7,14 +7,10 @@ package main
import "fmt" import "fmt"
/* /*
#cgo CFLAGS: -pthread
#cgo LDFLAGS: -pthread
#include <signal.h> #include <signal.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <pthread.h>
int *p; int *p;
static void sigsegv() { 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) { static void __attribute__ ((constructor)) sigsetup(void) {
struct sigaction act; struct sigaction act;
memset(&act, 0, sizeof act); memset(&act, 0, sizeof act);
act.sa_handler = segvhandler; act.sa_handler = segvhandler;
sigaction(SIGSEGV, &act, NULL); sigaction(SIGSEGV, &act, NULL);
act.sa_handler = iohandler;
sigaction(SIGIO, &act, NULL);
} }
*/ */
import "C" import "C"