diff options
Diffstat (limited to 'src/sync')
| -rw-r--r-- | src/sync/mutex.go | 6 | ||||
| -rw-r--r-- | src/sync/rwmutex.go | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/sync/mutex.go b/src/sync/mutex.go index 18b2cedba7..80bb827054 100644 --- a/src/sync/mutex.go +++ b/src/sync/mutex.go @@ -16,7 +16,9 @@ import ( "unsafe" ) -func throw(string) // provided by runtime +// Provided by runtime via linkname. +func throw(string) +func fatal(string) // A Mutex is a mutual exclusion lock. // The zero value for a Mutex is an unlocked mutex. @@ -217,7 +219,7 @@ func (m *Mutex) Unlock() { func (m *Mutex) unlockSlow(new int32) { if (new+mutexLocked)&mutexLocked == 0 { - throw("sync: unlock of unlocked mutex") + fatal("sync: unlock of unlocked mutex") } if new&mutexStarving == 0 { old := new diff --git a/src/sync/rwmutex.go b/src/sync/rwmutex.go index f0d4c9771a..7b10808ec4 100644 --- a/src/sync/rwmutex.go +++ b/src/sync/rwmutex.go @@ -118,7 +118,7 @@ func (rw *RWMutex) RUnlock() { func (rw *RWMutex) rUnlockSlow(r int32) { if r+1 == 0 || r+1 == -rwmutexMaxReaders { race.Enable() - throw("sync: RUnlock of unlocked RWMutex") + fatal("sync: RUnlock of unlocked RWMutex") } // A writer is pending. if atomic.AddInt32(&rw.readerWait, -1) == 0 { @@ -198,7 +198,7 @@ func (rw *RWMutex) Unlock() { r := atomic.AddInt32(&rw.readerCount, rwmutexMaxReaders) if r >= rwmutexMaxReaders { race.Enable() - throw("sync: Unlock of unlocked RWMutex") + fatal("sync: Unlock of unlocked RWMutex") } // Unblock blocked readers, if any. for i := 0; i < int(r); i++ { |
