Magellan Linux

Contents of /trunk/hal/patches/hal-0.5.10-assign-pid-to-a-gint64-before-passing-it-as-an-_INT6.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 597 - (show annotations) (download)
Mon May 19 19:05:19 2008 UTC (15 years, 11 months ago) by niro
File size: 1996 byte(s)
-gentoo patches

1 From 51eff7c805f15f83dfceaac3ba6740a8a624a4d3 Mon Sep 17 00:00:00 2001
2 From: Sjoerd Simons <sjoerd@luon.net>
3 Date: Sun, 18 Nov 2007 23:42:24 +0100
4 Subject: [PATCH] assign pid to a gint64 before passing it as an _INT64 in a dbus message
5
6 This patch assigns a GPid to an gint64 before passing as a DBUS_TYPE_INT64 in a dbus message. Fixes alignment issues and ensures the correct size of the passed argument without the need to use __attribute__ ((aligned))
7 ---
8 hald-runner/main.c | 5 +++--
9 hald-runner/runner.c | 3 ++-
10 2 files changed, 5 insertions(+), 3 deletions(-)
11
12 diff --git a/hald-runner/main.c b/hald-runner/main.c
13 index f767b9b..accb65d 100644
14 --- a/hald-runner/main.c
15 +++ b/hald-runner/main.c
16 @@ -137,7 +137,7 @@ handle_start(DBusConnection *con, DBusMessage *msg, gboolean is_singleton)
17 DBusMessage *reply;
18 DBusMessageIter iter;
19 run_request *r;
20 - GPid pid __attribute__ ((aligned));
21 + GPid pid;
22
23 r = new_run_request();
24 r->is_singleton = is_singleton;
25 @@ -158,9 +158,10 @@ handle_start(DBusConnection *con, DBusMessage *msg, gboolean is_singleton)
26 }
27
28 if (run_request_run(r, con, NULL, &pid)) {
29 + gint64 ppid = pid;
30 reply = dbus_message_new_method_return(msg);
31 dbus_message_append_args (reply,
32 - DBUS_TYPE_INT64, &pid,
33 + DBUS_TYPE_INT64, &ppid,
34 DBUS_TYPE_INVALID);
35
36 } else {
37 diff --git a/hald-runner/runner.c b/hald-runner/runner.c
38 index cd6cf82..4847655 100644
39 --- a/hald-runner/runner.c
40 +++ b/hald-runner/runner.c
41 @@ -181,11 +181,12 @@ out:
42 /* emit a signal that this PID exited */
43 if(rd->con != NULL && rd->emit_pid_exited) {
44 DBusMessage *signal;
45 + gint64 ppid = rd->pid;
46 signal = dbus_message_new_signal ("/org/freedesktop/HalRunner",
47 "org.freedesktop.HalRunner",
48 "StartedProcessExited");
49 dbus_message_append_args (signal,
50 - DBUS_TYPE_INT64, &(rd->pid),
51 + DBUS_TYPE_INT64, &(ppid),
52 DBUS_TYPE_INVALID);
53 dbus_connection_send(rd->con, signal, NULL);
54 }
55 --
56 1.5.3.7
57