From: Cherry Mui Date: Thu, 6 Apr 2023 21:36:05 +0000 (-0400) Subject: runtime: correct GoCheckBindM's C declaration in EnsureBindM test X-Git-Tag: go1.21rc1~1007 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4f4a9c7fff0b96d596c65f7997ab646b3ac42517;p=gostls13.git 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 --- diff --git a/src/runtime/testdata/testprogcgo/bindm.c b/src/runtime/testdata/testprogcgo/bindm.c new file mode 100644 index 0000000000..815d8a75f2 --- /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 ed2c6a7eea..c2003c2093 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"