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