summaryrefslogtreecommitdiff
path: root/src/nshd/hackers_git/hackers.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/nshd/hackers_git/hackers.go')
-rw-r--r--src/nshd/hackers_git/hackers.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nshd/hackers_git/hackers.go b/src/nshd/hackers_git/hackers.go
index b1fffc6..ecbda7a 100644
--- a/src/nshd/hackers_git/hackers.go
+++ b/src/nshd/hackers_git/hackers.go
@@ -23,6 +23,7 @@ type Hackers struct {
util.NullBackend
cfg Config
lock sync.RWMutex
+ workers sync.WaitGroup
users map[int32]user
passwords map[int32]string
@@ -44,11 +45,16 @@ func NewHackers(config Config) *Hackers {
if err != nil {
return nil
}
- go o.worker()
+ o.workers.Add(1)
+ go func() {
+ defer o.workers.Done()
+ o.worker()
+ }()
return &o
}
func (o *Hackers) Close() {
+ defer o.workers.Wait()
logger.Info("Closing hackers.git session")
o.lock.Lock()
defer o.lock.Unlock()