()
| 618 | } |
| 619 | |
| 620 | func (a *AppPool) Purge() { |
| 621 | a.lock.Lock() |
| 622 | |
| 623 | var apps []*App |
| 624 | |
| 625 | for _, app := range a.apps { |
| 626 | apps = append(apps, app) |
| 627 | } |
| 628 | |
| 629 | a.lock.Unlock() |
| 630 | |
| 631 | for _, app := range apps { |
| 632 | app.eventAdd("purging_app") |
| 633 | app.t.Kill(nil) |
| 634 | } |
| 635 | |
| 636 | for _, app := range apps { |
| 637 | app.t.Wait() |
| 638 | } |
| 639 | |
| 640 | a.Events.Add("apps_purged") |
| 641 | } |