]> arthur.barton.de Git - netatalk.git/commitdiff
Small fix in the DSI tickle handling
authorRalph Boehme <sloowfranklin@gmail.com>
Wed, 18 Sep 2013 09:08:38 +0000 (11:08 +0200)
committerRalph Boehme <sloowfranklin@gmail.com>
Wed, 18 Sep 2013 09:08:38 +0000 (11:08 +0200)
Due to a regression introduced in 9355ebcc5744bbd445a0c8cb8b0a0ca201d5499a
the server may send an extra DSI tickle immediately after a "volume modified"
DSI attention notification. This will only happen if the connection is

o completely idle, and
o the volume was modified by another AFP client

The result is an extra DSI tickle every 30 seconds.

Fixes bug #528.

NEWS
etc/afpd/afp_dsi.c

diff --git a/NEWS b/NEWS
index f04e333ddd806cb429d9d2a85cab388d7707081e..cde45f142432516847548ca48dac03ccc3a4ea8a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Changes in 3.0.6
 * NEW: Option "vol dbnest", when set to true, the CNID database for
        a volume is stored in the volume root of a share in a directory
        .AppleDB like in Netatalk 2. Defaults to false. From FR#84.
+* FIX: Small fix in the DSI tickle handling. Bug #528.
 
 Changes in 3.0.5
 ================
index 5082ee70fea0f83d6d528fcc49a875520376d99c..e68b63a47e9386162c881ba8b8071b16bedec9db 100644 (file)
@@ -321,9 +321,10 @@ static void alarm_handler(int sig _U_)
         return;
     }
 
-    if ((err = pollvoltime(AFPobj)) == 0)
+    if ((err = pollvoltime(AFPobj)) == 0) {
         LOG(log_debug, logtype_afpd, "afp_alarm: sending DSI tickle");
         err = dsi_tickle(AFPobj->dsi);
+    }
     if (err <= 0) {
         if (geteuid() == 0) {
             LOG(log_note, logtype_afpd, "afp_alarm: unauthenticated user, connection problem");