aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sync
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-02-15 19:35:52 -0800
committerRuss Cox <rsc@golang.org>2009-02-15 19:35:52 -0800
commit91ceda5c18fdf7c7512b0a36725d9d5cf1c2b23f (patch)
tree9600ec63eb31a171bc1f911505eae0806b9d33d5 /src/lib/sync
parent97dcc68f1ec4202b467210dcd2607c7630bb9d6e (diff)
downloadgo-91ceda5c18fdf7c7512b0a36725d9d5cf1c2b23f.tar.xz
add os.ForkExec, os.Exec, os.Wait, exec.OpenCmd.
as thread-safe as possible, given the surrounding system. add stub RWLock implementation. R=r DELTA=852 (834 added, 6 deleted, 12 changed) OCL=25046 CL=25053
Diffstat (limited to 'src/lib/sync')
-rw-r--r--src/lib/sync/mutex.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/sync/mutex.go b/src/lib/sync/mutex.go
index 1269027e11..8e05cd819d 100644
--- a/src/lib/sync/mutex.go
+++ b/src/lib/sync/mutex.go
@@ -39,3 +39,20 @@ func (m *Mutex) Unlock() {
semrelease(&m.sema);
}
+// Stub implementation of r/w locks.
+// This satisfies the semantics but
+// is not terribly efficient.
+// TODO(rsc): Real r/w locks.
+
+type RWMutex struct {
+ Mutex;
+}
+
+func (m *RWMutex) RLock() {
+ m.Lock();
+}
+
+func (m *RWMutex) RUnlock() {
+ m.Unlock();
+}
+