(b []byte)
| 197 | } |
| 198 | |
| 199 | func (w *Writer) Write(b []byte) (int, error) { |
| 200 | var ok = false |
| 201 | for !ok { |
| 202 | select { |
| 203 | case filename := <-w.fire: |
| 204 | if err := w.Reopen(filename); err != nil { |
| 205 | return 0, err |
| 206 | } |
| 207 | default: |
| 208 | ok = true |
| 209 | } |
| 210 | } |
| 211 | |
| 212 | select { |
| 213 | case w.queue <- b: |
| 214 | return len(b), nil |
| 215 | } |
| 216 | } |
| 217 | |
| 218 | func (w *Writer) Reopen(file string) error { |
| 219 | fileInfo, err := w.file.Stat() |
no test coverage detected