(name string)
| 48 | var standardPoolNames = []string{"tokenizer", "parser", "ast"} |
| 49 | |
| 50 | func getOrCreatePoolCounter(name string) *poolCounter { |
| 51 | poolStatsMu.RLock() |
| 52 | c, ok := poolCounters[name] |
| 53 | poolStatsMu.RUnlock() |
| 54 | if ok { |
| 55 | return c |
| 56 | } |
| 57 | poolStatsMu.Lock() |
| 58 | defer poolStatsMu.Unlock() |
| 59 | if c, ok = poolCounters[name]; ok { |
| 60 | return c |
| 61 | } |
| 62 | c = &poolCounter{} |
| 63 | poolCounters[name] = c |
| 64 | return c |
| 65 | } |
| 66 | |
| 67 | // RecordNamedPoolGet records a Get() call for the named pool and returns the new total. |
| 68 | // Call this immediately after retrieving an object from a sync.Pool. |
no outgoing calls
no test coverage detected