diff options
-rw-r--r-- | pool.go | 3 | ||||
-rw-r--r-- | static_pool.go | 1 |
2 files changed, 4 insertions, 0 deletions
@@ -13,6 +13,9 @@ const ( // EventWorkerError thrown any worker related even happen (passed with WorkerError) EventWorkerError + // EventWorkerDead thrown when worker stops worker for any reason. + EventWorkerDead + // EventPoolError caused on pool wide errors EventPoolError ) diff --git a/static_pool.go b/static_pool.go index df20ad20..9449ea0c 100644 --- a/static_pool.go +++ b/static_pool.go @@ -239,6 +239,7 @@ func (p *StaticPool) destroyWorker(w *Worker, caused interface{}) { // watchWorker watches worker state and replaces it if worker fails. func (p *StaticPool) watchWorker(w *Worker) { err := w.Wait() + p.throw(EventWorkerDead, w) // detaching p.muw.Lock() |