]> git.meshlink.io Git - catta/commitdiff
* set FILENO rlimit to 30 by default
authorLennart Poettering <lennart@poettering.net>
Fri, 19 Aug 2005 11:43:35 +0000 (11:43 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 19 Aug 2005 11:43:35 +0000 (11:43 +0000)
* improve DBUS initialization a little

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@353 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-daemon/avahi-daemon.conf
avahi-daemon/dbus-protocol.c

index f3f81f73d526be4acd62966389b898febd4c3029..284a7fa7db38b495fdd2e2ea52f82f3d9a7683b5 100644 (file)
@@ -24,6 +24,6 @@ reflect-ipv=no
 rlimit-core=0
 rlimit-data=4194304
 rlimit-fsize=0
-rlimit-nofile=15
+rlimit-nofile=30
 rlimit-stack=4194304
 rlimit-nproc=1
index 772756b8a3ede585bc1e06cb57a561e1b2fa472c..4816a6cbf7ba3e7663768907accae902b535ca38 100644 (file)
@@ -1665,7 +1665,6 @@ int dbus_protocol_setup(const AvahiPoll *poll_api) {
         NULL
     };
 
-
     dbus_error_init(&error);
 
     server = avahi_new(Server, 1);
@@ -1673,23 +1672,43 @@ int dbus_protocol_setup(const AvahiPoll *poll_api) {
     server->current_id = 0;
     server->n_clients = 0;
 
-    server->bus = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
-    if (dbus_error_is_set(&error)) {
-        avahi_log_warn("dbus_bus_get(): %s", error.message);
+    if (!(server->bus = dbus_bus_get(DBUS_BUS_SYSTEM, &error))) {
+        assert(dbus_error_is_set(&error));
+        avahi_log_error("dbus_bus_get(): %s", error.message);
         goto fail;
     }
 
-    avahi_dbus_connection_glue(server->bus, poll_api);
+    if (avahi_dbus_connection_glue(server->bus, poll_api) < 0) {
+        avahi_log_error("avahi_dbus_connection_glue() failed");
+        goto fail;
+    }
 
-    dbus_bus_request_name(server->bus, AVAHI_DBUS_NAME, 0, &error);
-    if (dbus_error_is_set(&error)) {
-        avahi_log_warn("dbus_bus_request_name(): %s", error.message);
+    if (dbus_bus_request_name(server->bus, AVAHI_DBUS_NAME, DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT, &error) != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
+        if (dbus_error_is_set(&error)) {
+            avahi_log_error("dbus_bus_request_name(): %s", error.message);
+            goto fail;
+        }
+
+        avahi_log_error("Failed to acquire DBUS name '"AVAHI_DBUS_NAME"'");
         goto fail;
     }
 
-    dbus_connection_add_filter(server->bus, msg_signal_filter_impl, (void*) poll_api, NULL);
+    if (!(dbus_connection_add_filter(server->bus, msg_signal_filter_impl, (void*) poll_api, NULL))) {
+        avahi_log_error("dbus_connection_add_filter() failed");
+        goto fail;
+    }
+    
     dbus_bus_add_match(server->bus, "type='signal',""interface='" DBUS_INTERFACE_DBUS  "'", &error);
-    dbus_connection_register_object_path(server->bus, AVAHI_DBUS_PATH_SERVER, &server_vtable, NULL);
+
+    if (dbus_error_is_set(&error)) {
+        avahi_log_error("dbus_bus_add_match(): %s", error.message);
+        goto fail;
+    }
+    
+    if (!(dbus_connection_register_object_path(server->bus, AVAHI_DBUS_PATH_SERVER, &server_vtable, NULL))) {
+        avahi_log_error("dbus_connection_register_object_path() failed");
+        goto fail;
+    }
 
     return 0;
 
@@ -1698,8 +1717,10 @@ fail:
         dbus_connection_disconnect(server->bus);
         dbus_connection_unref(server->bus);
     }
-    
-    dbus_error_free (&error);
+
+    if (dbus_error_is_set(&error))
+        dbus_error_free(&error);
+        
     avahi_free(server);
     server = NULL;
     return -1;