1// Copyright 2012 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5package main 6 7/* 8int sync; 9 10void Notify(void) 11{ 12 __sync_fetch_and_add(&sync, 1); 13} 14 15void Wait(void) 16{ 17 while(__sync_fetch_and_add(&sync, 0) == 0) {} 18} 19*/ 20import "C" 21 22func main() { 23 data := 0 24 go func() { 25 data = 1 26 C.Notify() 27 }() 28 C.Wait() 29 _ = data 30} 31