aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/internal/task/pmutex-cooperative.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/internal/task/pmutex-cooperative.go b/src/internal/task/pmutex-cooperative.go
new file mode 100644
index 000000000..ae2aa4bad
--- /dev/null
+++ b/src/internal/task/pmutex-cooperative.go
@@ -0,0 +1,16 @@
+package task
+
+// PMutex is a real mutex on systems that can be either preemptive or threaded,
+// and a dummy lock on other (purely cooperative) systems.
+//
+// It is mainly useful for short operations that need a lock when threading may
+// be involved, but which do not need a lock with a purely cooperative
+// scheduler.
+type PMutex struct {
+}
+
+func (m *PMutex) Lock() {
+}
+
+func (m *PMutex) Unlock() {
+}