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 5 package main 6 7 /* 8 int sync; 9 10 void Notify(void) 11 { 12 __sync_fetch_and_add(&sync, 1); 13 } 14 15 void Wait(void) 16 { 17 while(__sync_fetch_and_add(&sync, 0) == 0) {} 18 } 19 */ 20 import "C" 21 22 func main() { 23 data := 0 24 go func() { 25 data = 1 26 C.Notify() 27 }() 28 C.Wait() 29 _ = data 30 } 31