old bug?

Gerald Carter gcarter at valinux.com
Fri Jun 22 18:52:39 GMT 2001


I'm going through old mail and this was reported last december
from Ying Chen <ying at almaden.ibm.com>

in smbd/process.c:smbd_process()
(lines 1257-1265)


if ((num_smbs % 200) == 0) {
   time_t new_check_time = time(NULL);
   if(last_timeout_processing_time - new_check_time >=
      (select_timeout/1000)) {
   	if(!timeout_processing( deadtime, &select_timeout,
             &last_timeout_processing_time))
           return;
        num_smbs = 0; /* Reset smb counter. */
        last_timeout_processing_time = new_check_time; /* Reset time. */
     }
}


The line

last_timeout_processing_time - new_check_time >= (select_timeout/1000))

Seems to have a logic bug.  if (last_timeout_processing_time <
new_check_time), the result will always be negative and always less
that (select_timeout/1000).

Or am I missing something here.






Cheers, jerry
----------------------------------------------------------------------
   /\  Gerald (Jerry) Carter                     Professional Services
 \/    http://www.valinux.com/  VA Linux Systems   gcarter at valinux.com
       http://www.samba.org/       SAMBA Team          jerry at samba.org
       http://www.plainjoe.org/                     jerry at plainjoe.org

       "...a hundred billion castaways looking for a home."
                                - Sting "Message in a Bottle" ( 1979 )






More information about the samba-technical mailing list