Btw, please check my updated 'ipconfig' branch.

On Sat, Oct 8, 2016 at 6:51 PM, Dan Cross <cro...@gmail.com> wrote:

> Yikes; how embarrassing. You are right on all three counts; I'll get a
> fixed patch out ASAP.
>
> On Oct 8, 2016 2:38 PM, "Barret Rhoden" <b...@cs.berkeley.edu> wrote:
>
>> hi -
>>
>> couple potential issues:
>>
>> On 2016-10-07 at 16:44 Dan Cross <cro...@gmail.com> wrote:
>> > If the lease time is 1, then we wouldn't wait; that's a bug.
>> > Clean up an obnoxious conditional.
>> >
>> > Change-Id: I25ad3c5ac3510d56a0dc3d37b464ca002236875b
>> > Signed-off-by: Dan Cross <cro...@gmail.com>
>> > ---
>> >  tools/apps/ipconfig/main.c | 19 +++++++------------
>> >  1 file changed, 7 insertions(+), 12 deletions(-)
>> >
>> > diff --git a/tools/apps/ipconfig/main.c b/tools/apps/ipconfig/main.c
>> > index db353bd..a19197b 100644
>> > --- a/tools/apps/ipconfig/main.c
>> > +++ b/tools/apps/ipconfig/main.c
>> > @@ -952,20 +952,17 @@ static void *dhcpwatchthr(void *arg)
>> >       uint32_t t;
>> >       int needconfig = (arg == NULL);
>> >
>> > -     // procsetname("dhcpwatch");
>> >       /* keep trying to renew the lease */
>> >       for (;;) {
>> > +             secs = conf.lease / 2;
>> >               if (conf.lease == 0)
>> >                       secs = 5;
>> > -             else
>> > -                     secs = conf.lease >> 1;
>>
>> I think if conf.lease was 1 in the new code, then secs still = 0 after
>> this.  The if check only checks if conf.lease was 0, but doesn't adjust
>> sec otherwise.  If that's not OK with the overall code, then that bug
>> is still here.
>>
>> >
>> >               /* avoid overflows */
>> >               for (s = secs; s > 0; s -= t) {
>> > -                     if (s > Maxsleep)
>> > +                     t = s;
>> > +                     if (t > Maxsleep)
>> >                               t = Maxsleep;
>> > -                     else
>> > -                             t = s;
>> >                       usleep(t * 1000 * 1000);
>> >               }
>> >
>> > @@ -1279,9 +1276,8 @@ void dhcprecv(void)
>> >               /* get plan9-specific options */
>> >               n = optgetvec(bp->optdata, OBvendorinfo, vopts,
>> sizeof(vopts) - 1);
>> >               if (n > 0 && parseoptions(vopts, n) == 0) {
>> > -                     if (validip(conf.fs) && Oflag)
>> > -                             n = 1;
>> > -                     else {
>> > +                     n = 1;
>> > +                     if (!validip(conf.fs) && Oflag) {
>>
>> this looks a little suspicious, since you just did the ! for validip,
>> but not for the other part of the && in the if check.  no need to change
>> it if you still think it's ok.  i'm not particularly familiar with this
>> code.
>>
>> >                               n = optgetp9addrs(vopts, OP9fs, conf.fs,
>> 2);
>> >                               if (n == 0)
>> >                                       n = optgetaddrs(vopts, OP9fsv4,
>> conf.fs, 2);
>> > @@ -1289,9 +1285,8 @@ void dhcprecv(void)
>> >                       for (i = 0; i < n; i++)
>> >                               DEBUG("fs=%R ", conf.fs + i * IPaddrlen);
>> >
>> > -                     if (validip(conf.auth) && Oflag)
>> > -                             n = 1;
>> > -                     else {
>> > +                     n = 1;
>> > +                     if (!validip(conf.auth) && Oflag) {
>>
>> same here.
>>
>> >                               n = optgetp9addrs(vopts, OP9auth,
>> conf.auth, 2);
>> >                               if (n == 0)
>> >                                       n = optgetaddrs(vopts, OP9authv4,
>> conf.auth, 2);
>>
>> barret
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Akaros" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to akaros+unsubscr...@googlegroups.com.
>> To post to this group, send email to akaros@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akaros+unsubscr...@googlegroups.com.
To post to this group, send email to akaros@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to