Date: Mon, 18 Apr 2011 23:15:29 +0000 (UTC) From: Maxim Sobolev <sobomax@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r220806 - head/sbin/natd Message-ID: <201104182315.p3INFTnH087021@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sobomax Date: Mon Apr 18 23:15:29 2011 New Revision: 220806 URL: http://svn.freebsd.org/changeset/base/220806 Log: Only wait for the IP to appear on the interface if natd is running in the background. Suggested by: Garrett Cooper <yanegomi@gmail.com> Use EAGAIN instead of magic value of -2 to report this condition from the SetAliasAddressFromIfName routine. MFC after: 2 weeks Modified: head/sbin/natd/natd.c Modified: head/sbin/natd/natd.c ============================================================================== --- head/sbin/natd/natd.c Mon Apr 18 23:12:41 2011 (r220805) +++ head/sbin/natd/natd.c Mon Apr 18 23:15:29 2011 (r220806) @@ -305,9 +305,9 @@ int main (int argc, char** argv) else { do { rval = SetAliasAddressFromIfName (mip->ifName); - if (rval == -2) + if (background != 0 && rval == EAGAIN) sleep(1); - } while (rval == -2); + } while (background != 0 && rval == EAGAIN); if (rval != 0) exit(1); } @@ -648,9 +648,9 @@ static void DoAliasing (int fd, int dire if (mip->assignAliasAddr) { do { rval = SetAliasAddressFromIfName (mip->ifName); - if (rval == -2) + if (background != 0 && rval == EAGAIN) sleep(1); - } while (rval == -2); + } while (background != 0 && rval == EAGAIN); if (rval != 0) exit(1); mip->assignAliasAddr = 0; @@ -969,7 +969,7 @@ SetAliasAddressFromIfName(const char *if if (sin == NULL) { warnx("%s: cannot get interface address", ifn); free(buf); - return -2; + return EAGAIN; } LibAliasSetAddress(mla, sin->sin_addr);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104182315.p3INFTnH087021>