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