aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sync
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-01-16 14:58:14 -0800
committerRuss Cox <rsc@golang.org>2009-01-16 14:58:14 -0800
commit360962420c484427bbc16e1f8699ee5cccc4f012 (patch)
tree321251a8cd180ad7856af54e8e531850d0735fb0 /src/lib/sync
parentec9f2b0cd46300b9da3a82aa3604c98fce017baa (diff)
downloadgo-360962420c484427bbc16e1f8699ee5cccc4f012.tar.xz
casify, cleanup sys
R=r OCL=22978 CL=22984
Diffstat (limited to 'src/lib/sync')
-rw-r--r--src/lib/sync/mutex.go8
-rw-r--r--src/lib/sync/mutex_test.go12
2 files changed, 11 insertions, 9 deletions
diff --git a/src/lib/sync/mutex.go b/src/lib/sync/mutex.go
index accf55a76a..68db0b697a 100644
--- a/src/lib/sync/mutex.go
+++ b/src/lib/sync/mutex.go
@@ -4,7 +4,9 @@
package sync
-package func cas(val *int32, old, new int32) bool
+func cas(val *int32, old, new int32) bool
+func semacquire(*int32)
+func semrelease(*int32)
export type Mutex struct {
key int32;
@@ -26,7 +28,7 @@ func (m *Mutex) Lock() {
// changed from 0 to 1; we hold lock
return;
}
- sys.semacquire(&m.sema);
+ semacquire(&m.sema);
}
func (m *Mutex) Unlock() {
@@ -34,6 +36,6 @@ func (m *Mutex) Unlock() {
// changed from 1 to 0; no contention
return;
}
- sys.semrelease(&m.sema);
+ semrelease(&m.sema);
}
diff --git a/src/lib/sync/mutex_test.go b/src/lib/sync/mutex_test.go
index 1c4e73056d..b9c063dbc0 100644
--- a/src/lib/sync/mutex_test.go
+++ b/src/lib/sync/mutex_test.go
@@ -11,10 +11,10 @@ import (
"testing"
)
-func hammerSemaphore(s *int32, cdone chan bool) {
+export func HammerSemaphore(s *int32, cdone chan bool) {
for i := 0; i < 1000; i++ {
- sys.semacquire(s);
- sys.semrelease(s);
+ semacquire(s);
+ semrelease(s);
}
cdone <- true;
}
@@ -24,7 +24,7 @@ export func TestSemaphore(t *testing.T) {
*s = 1;
c := make(chan bool);
for i := 0; i < 10; i++ {
- go hammerSemaphore(s, c);
+ go HammerSemaphore(s, c);
}
for i := 0; i < 10; i++ {
<-c;
@@ -32,7 +32,7 @@ export func TestSemaphore(t *testing.T) {
}
-func hammerMutex(m *Mutex, cdone chan bool) {
+export func HammerMutex(m *Mutex, cdone chan bool) {
for i := 0; i < 1000; i++ {
m.Lock();
m.Unlock();
@@ -44,7 +44,7 @@ export func TestMutex(t *testing.T) {
m := new(Mutex);
c := make(chan bool);
for i := 0; i < 10; i++ {
- go hammerMutex(m, c);
+ go HammerMutex(m, c);
}
for i := 0; i < 10; i++ {
<-c;