2017-10-22 17:25 GMT+02:00 Samuel Thibault <samuel.thiba...@gnu.org>: >> >> Unfortunately, lwip doesn't provide a lwip_ppoll() function. > > Ah, I saw it in lwipv6, I thought it was generally available. > > That being said, it'd be better to make the code already use struct > timespec, converting to coarser resolution only where is has to be done > (the lwip_poll call).
That's already done. In lwip_io_select_common() the timeout is rounded just before calling lwip_poll(). It shouldn't be difficult to write a lwip_ppoll() function, I'll try it some day. >> >> 1.- Why inhibit pfinet_{cntl,protid}_portclasses[0] and not >> pfinet_{cntl,protid}_portclasses[1]. Wouldn't that lead to stop RPCs >> to /servers/socket/2 but still allow RPCs to /servers/socket/26? > > That's probably just a bug, yes. OK >> 2.- Why inhibit socketport_class and not addrpot_class? > > I guess that's because it's not "too bad" for the addrport RPCs to > break, and they are usually used very transiently while a socket is > still active. But for safety it is probably better to inhibit it. > I guess the cases where there wouldn't be any socket left but some > addrport left is rare enough that we don't care. OK >> 3.- Why use ports_inhibit_class_rpcs() for inhibiting all classes, but >> then use ports_enable_class() just for socketport_class and >> ports_resume_class_rpcs() for all other classes? > > I have to say I don't know :) > I don't know if that was really tested actually. From reading the source > it seems it should really be replaced by ports_resume_class_rpcs. OK >> I have kind of the same question about S_startup_dosync()[2]. Why >> destroy only socketport_class ports and not addrport_class ones? > > I guess it's the same answer as above: we can as well destroy them too > for nicer handling. OK Again. I think I've done all your requested changes, but the perl testsuite indeed found some bugs. So I'll send the new patch when I have them fixed. Regards.