()
| 103 | } |
| 104 | |
| 105 | func (m *lockMap) Run() error { |
| 106 | ticker := time.NewTicker(m.sweepInterval) |
| 107 | for { |
| 108 | select { |
| 109 | case <-m.tomb.Dying(): |
| 110 | ticker.Stop() |
| 111 | m.shutdown() |
| 112 | return m.tomb.Err() |
| 113 | case <-ticker.C: |
| 114 | m.sweep() |
| 115 | } |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | func (m *lockMap) shutdown() { |
| 120 | m.l.Lock() |