refact: refactored module SetRunning method (fixes #49)

This commit is contained in:
evilsocket 2018-02-11 01:43:48 +01:00
commit 9c6eb70eb3
15 changed files with 103 additions and 174 deletions

View file

@ -143,9 +143,7 @@ func (s *Sniffer) Start() error {
return err
}
s.SetRunning(true)
go func() {
return s.SetRunning(true, func() {
s.Stats = NewSnifferStats()
src := gopacket.NewPacketSource(s.Ctx.Handle, s.Ctx.Handle.LinkType())
@ -180,17 +178,11 @@ func (s *Sniffer) Start() error {
}
}
}
}()
return nil
})
}
func (s *Sniffer) Stop() error {
if s.Running() == false {
return session.ErrAlreadyStopped
}
s.SetRunning(false)
s.Ctx.Close()
return nil
return s.SetRunning(false, func() {
s.Ctx.Close()
})
}