summaryrefslogtreecommitdiffstats
path: root/bus/activation.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-04-02 20:14:52 +0000
committerHavoc Pennington <hp@redhat.com>2003-04-02 20:14:52 +0000
commite55fd2c6706e41f6933e1656ac3da7527ee2514f (patch)
tree36329f8a7da856381c7538d01cb138e2db81be47 /bus/activation.c
parentcfa261b49dd9cafb172deae3db22dba0c2e54bf9 (diff)
2003-04-02 Havoc Pennington <hp@redhat.com>
* bus/connection.c (bus_transaction_send_error_reply): set sender service for the error, and unref the reply on success * bus/activation.c: convert to use BusTransaction so OOM can be handled correctly (bus_activation_service_created): set sender of the message
Diffstat (limited to 'bus/activation.c')
-rw-r--r--bus/activation.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/bus/activation.c b/bus/activation.c
index 7f3693a0..0dfce3f8 100644
--- a/bus/activation.c
+++ b/bus/activation.c
@@ -2,6 +2,7 @@
/* activation.c Activation of services
*
* Copyright (C) 2003 CodeFactory AB
+ * Copyright (C) 2003 Red Hat, Inc.
*
* Licensed under the Academic Free License version 1.2
*
@@ -412,9 +413,10 @@ child_setup (void *data)
}
dbus_bool_t
-bus_activation_service_created (BusActivation *activation,
- const char *service_name,
- DBusError *error)
+bus_activation_service_created (BusActivation *activation,
+ const char *service_name,
+ BusTransaction *transaction,
+ DBusError *error)
{
BusPendingActivation *pending_activation;
DBusMessage *message;
@@ -443,7 +445,8 @@ bus_activation_service_created (BusActivation *activation,
goto error;
}
- if (!dbus_message_append_args (message,
+ if (!dbus_message_set_sender (message, DBUS_SERVICE_DBUS) ||
+ !dbus_message_append_args (message,
DBUS_TYPE_UINT32, DBUS_ACTIVATION_REPLY_ACTIVATED,
0))
{
@@ -451,8 +454,8 @@ bus_activation_service_created (BusActivation *activation,
BUS_SET_OOM (error);
goto error;
}
-
- if (!dbus_connection_send (entry->connection, message, NULL))
+
+ if (!bus_transaction_send_message (transaction, entry->connection, message))
{
dbus_message_unref (message);
BUS_SET_OOM (error);
@@ -478,6 +481,7 @@ bus_activation_service_created (BusActivation *activation,
dbus_bool_t
bus_activation_activate_service (BusActivation *activation,
DBusConnection *connection,
+ BusTransaction *transaction,
DBusMessage *activation_message,
const char *service_name,
DBusError *error)
@@ -514,7 +518,8 @@ bus_activation_activate_service (BusActivation *activation,
return FALSE;
}
- if (!dbus_message_append_args (message,
+ if (!dbus_message_set_sender (message, DBUS_SERVICE_DBUS) ||
+ !dbus_message_append_args (message,
DBUS_TYPE_UINT32, DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE,
0))
{
@@ -523,7 +528,7 @@ bus_activation_activate_service (BusActivation *activation,
return FALSE;
}
- retval = dbus_connection_send (connection, message, NULL);
+ retval = bus_transaction_send_message (transaction, connection, message);
dbus_message_unref (message);
if (!retval)
BUS_SET_OOM (error);