diff options
Diffstat (limited to 'src/database/sql/sql.go')
| -rw-r--r-- | src/database/sql/sql.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index f3fed953ad..31e9605309 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -24,7 +24,7 @@ import ( ) var ( - driversMu sync.Mutex + driversMu sync.RWMutex drivers = make(map[string]driver.Driver) ) @@ -52,8 +52,8 @@ func unregisterAllDrivers() { // Drivers returns a sorted list of the names of the registered drivers. func Drivers() []string { - driversMu.Lock() - defer driversMu.Unlock() + driversMu.RLock() + defer driversMu.RUnlock() var list []string for name := range drivers { list = append(list, name) @@ -465,9 +465,9 @@ var connectionRequestQueueSize = 1000000 // function should be called just once. It is rarely necessary to // close a DB. func Open(driverName, dataSourceName string) (*DB, error) { - driversMu.Lock() + driversMu.RLock() driveri, ok := drivers[driverName] - driversMu.Unlock() + driversMu.RUnlock() if !ok { return nil, fmt.Errorf("sql: unknown driver %q (forgotten import?)", driverName) } |
