*** Pound-2.0.5/svc.c	2006-05-13 04:11:30.000000000 -0500
--- Pound-2.0.5a/svc.c	2006-05-15 13:40:16.000000000 -0500
*************** get_backend(SERVICE *svc, struct in_addr
*** 622,629 ****
                  /* no session yet - create one */
                  res = rand_backend(svc->backends, random() % svc->tot_pri);
                  svc->sessions = sess_add(svc->sessions, key, res);
!             } else
                  res = sp->to_host;
          } else {
              res = rand_backend(svc->backends, random() % svc->tot_pri);
          }
--- 622,631 ----
                  /* no session yet - create one */
                  res = rand_backend(svc->backends, random() % svc->tot_pri);
                  svc->sessions = sess_add(svc->sessions, key, res);
!             } else {
!                 sp->last_acc = time(NULL);
                  res = sp->to_host;
+             }
          } else {
              res = rand_backend(svc->backends, random() % svc->tot_pri);
          }
*************** get_backend(SERVICE *svc, struct in_addr
*** 635,642 ****
                  /* no session yet - create one */
                  res = rand_backend(svc->backends, random() % svc->tot_pri);
                  svc->sessions = sess_add(svc->sessions, key, res);
!             } else
                  res = sp->to_host;
          } else {
              res = rand_backend(svc->backends, random() % svc->tot_pri);
          }
--- 637,646 ----
                  /* no session yet - create one */
                  res = rand_backend(svc->backends, random() % svc->tot_pri);
                  svc->sessions = sess_add(svc->sessions, key, res);
!             } else {
!                 sp->last_acc = time(NULL);
                  res = sp->to_host;
+             }
          } else {
              res = rand_backend(svc->backends, random() % svc->tot_pri);
          }


