]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - afs.c
server.c: Only try to print errors when not in daemon mode.
[paraslash.git] / afs.c
diff --git a/afs.c b/afs.c
index 58b04a8bafce749308aefe17d42ebaf178d4d45b..5f47941e13cae9b43c454e5573fb26de6588f4e8 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -892,7 +892,7 @@ static int call_callback(int fd, int query_shmid)
        query.data = (char *)query_shm + sizeof(*cq);
        query.size = cq->query_size;
        cq->handler(fd, &query);
-       return 1;
+       return shm_detach(query_shm);
 }
 
 static int execute_server_command(void)
@@ -1105,7 +1105,7 @@ int com_init(int fd, int argc, char * const * const argv)
                                return -E_BAD_TABLE_NAME;
                }
        }
-       ret = send_callback_request(create_tables_callback, &query, NULL, NULL);
+       ret = send_callback_request(create_tables_callback, &query, &send_result, &fd);
        if (ret < 0)
                return send_va_buffer(fd, "%s\n", para_strerror(-ret));
        return ret;
@@ -1185,7 +1185,8 @@ void afs_event(enum afs_events event, struct para_buffer *pb,
                        continue;
                ret = t->event_handler(event, pb, data);
                if (ret < 0)
-                       PARA_CRIT_LOG("%s\n", para_strerror(-ret));
+                       PARA_CRIT_LOG("table %s, event %d: %s\n", t->name,
+                               event, para_strerror(-ret));
        }
 }