By looking at the code of send_diffs (ipropd_master.c:666) it looks to
me that there somewhere at the beginning of that long function, before
plowing through the log on the master, there should be something like

if (current_version == 0 || s->version == 0){


   return send_complete (...);

to catch these special cases. What else should the master do
than to send everyting in these cases? I don't see any
other code which clearly handles when current_version == 0
is encountered or if the slave reported that it was at version 0 
(tmp == 0 in process_msg) which then sets s->version = 0.

In addition to that, the readability of the source code in process_msg()
could improve tremendously with better variable names and fixed grammar
or better description what happended in the warning messages.


Reply via email to