()
| 123 | } |
| 124 | |
| 125 | func (s *script) getState() (*lua.LState, error) { |
| 126 | select { |
| 127 | case L := <-s.pool: |
| 128 | if L == nil { |
| 129 | return nil, errors.New("pool closed") |
| 130 | } |
| 131 | return L, nil |
| 132 | default: |
| 133 | return s.newState() |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | func (s *script) putState(L *lua.LState) { |
| 138 | if s.pool == nil { // pool closed |