From 4f4a9c7fff0b96d596c65f7997ab646b3ac42517 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Thu, 6 Apr 2023 17:36:05 -0400 Subject: [PATCH] runtime: correct GoCheckBindM's C declaration in EnsureBindM test The test file has a C declaration which doesn't match the actual definition. Remove it and include "_cgo_export.h" to have the right declaration. Change-Id: Iddf6d8883ee0e439147c7027029dd3e352ef090d Reviewed-on: https://go-review.googlesource.com/c/go/+/482975 TryBot-Result: Gopher Robot Run-TryBot: Cherry Mui Reviewed-by: Ian Lance Taylor --- src/runtime/testdata/testprogcgo/bindm.c | 34 +++++++++++++++++++++++ src/runtime/testdata/testprogcgo/bindm.go | 30 +------------------- 2 files changed, 35 insertions(+), 29 deletions(-) create mode 100644 src/runtime/testdata/testprogcgo/bindm.c diff --git a/src/runtime/testdata/testprogcgo/bindm.c b/src/runtime/testdata/testprogcgo/bindm.c new file mode 100644 index 00000000000..815d8a75f26 --- /dev/null +++ b/src/runtime/testdata/testprogcgo/bindm.c @@ -0,0 +1,34 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !plan9 && !windows + +#include +#include +#include +#include "_cgo_export.h" + +#define CTHREADS 2 +#define CHECKCALLS 100 + +static void* checkBindMThread(void* thread) { + int i; + for (i = 0; i < CHECKCALLS; i++) { + GoCheckBindM((uintptr_t)thread); + usleep(1); + } + return NULL; +} + +void CheckBindM() { + int i; + pthread_t s[CTHREADS]; + + for (i = 0; i < CTHREADS; i++) { + pthread_create(&s[i], NULL, checkBindMThread, &s[i]); + } + for (i = 0; i < CTHREADS; i++) { + pthread_join(s[i], NULL); + } +} diff --git a/src/runtime/testdata/testprogcgo/bindm.go b/src/runtime/testdata/testprogcgo/bindm.go index ed2c6a7eeaa..c2003c20931 100644 --- a/src/runtime/testdata/testprogcgo/bindm.go +++ b/src/runtime/testdata/testprogcgo/bindm.go @@ -10,35 +10,7 @@ package main /* -#include -#include -#include - -extern void GoCheckBindM(); - -#define CTHREADS 2 -#define CHECKCALLS 100 - -static void* checkBindMThread(void* thread) { - int i; - for (i = 0; i < CHECKCALLS; i++) { - GoCheckBindM((uintptr_t)thread); - usleep(1); - } - return NULL; -} - -static void CheckBindM() { - int i; - pthread_t s[CTHREADS]; - - for (i = 0; i < CTHREADS; i++) { - pthread_create(&s[i], NULL, checkBindMThread, &s[i]); - } - for (i = 0; i < CTHREADS; i++) { - pthread_join(s[i], NULL); - } -} +extern void CheckBindM(); */ import "C"