Merge pull request #22 from eyakubovich/netns-err

dhcp: don't swallow err from netns switch
This commit is contained in:
Eugene Yakubovich 2015-06-15 16:08:01 -07:00
commit f56f1d90fd

View File

@ -73,32 +73,31 @@ func AcquireLease(clientID, netns, ifName string) (*DHCPLease, error) {
log.Printf("%v: acquiring lease", clientID) log.Printf("%v: acquiring lease", clientID)
l.wg.Add(1) l.wg.Add(1)
go ns.WithNetNSPath(netns, true, func(_ *os.File) (e error) { go func() {
defer l.wg.Done() errCh <- ns.WithNetNSPath(netns, true, func(_ *os.File) error {
defer l.wg.Done()
link, err := netlink.LinkByName(ifName) link, err := netlink.LinkByName(ifName)
if err != nil { if err != nil {
errCh <- fmt.Errorf("error looking up %q", ifName) return fmt.Errorf("error looking up %q: %v", ifName, err)
return }
}
l.link = link l.link = link
if err = l.acquire(); err != nil { if err = l.acquire(); err != nil {
errCh <- err return err
return }
}
log.Printf("%v: lease acquired, expiration is %v", l.clientID, l.expireTime) log.Printf("%v: lease acquired, expiration is %v", l.clientID, l.expireTime)
errCh <- nil errCh <- nil
l.maintain() l.maintain()
return return nil
}) })
}()
err := <-errCh if err := <-errCh; err != nil {
if err != nil {
return nil, err return nil, err
} }