Home | History | Annotate | Download | only in testdata
      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