Change 288216 by kejo@kejo-thirdparty on 2009/02/06 11:31:34 upstart implement --no-wait for emit Affected files ... ... //depot/thirdparty/upstart/company/0.5.1/dbus/com.ubuntu.Upstart.xml#2 edit ... //depot/thirdparty/upstart/company/0.5.1/init/com.ubuntu.Upstart.c#2 edit ... //depot/thirdparty/upstart/company/0.5.1/init/control.c#2 edit ... //depot/thirdparty/upstart/company/0.5.1/init/control.h#2 edit ... //depot/thirdparty/upstart/company/0.5.1/util/com.ubuntu.Upstart.c#2 edit ... //depot/thirdparty/upstart/company/0.5.1/util/com.ubuntu.Upstart.h#2 edit ... //depot/thirdparty/upstart/company/0.5.1/util/initctl.c#3 edit ... //depot/thirdparty/upstart/company/0.5.1/util/shutdown.c#2 edit ... //depot/thirdparty/upstart/company/0.5.1/util/telinit.c#2 edit Differences ... ==== //depot/thirdparty/upstart/company/0.5.1/dbus/com.ubuntu.Upstart.xml#2 (text) ==== 33a34 > ==== //depot/thirdparty/upstart/company/0.5.1/init/com.ubuntu.Upstart.c#2 (text) ==== 50c50 < extern int control_emit_event (void *data, NihDBusMessage *message, const char *name, char * const *env); --- > extern int control_emit_event (void *data, NihDBusMessage *message, const char *name, int sync, char * const *env); 80a81 > { "sync", "b", NIH_DBUS_ARG_IN }, 459a461 > int sync; 494a497,512 > if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_BOOLEAN) { > reply = dbus_message_new_error (message->message, DBUS_ERROR_INVALID_ARGS, > _("Invalid arguments to EmitEvent method")); > if (! reply) { > return DBUS_HANDLER_RESULT_NEED_MEMORY; > > } > > goto send; > > } > > dbus_message_iter_get_basic (&iter, &sync); > > dbus_message_iter_next (&iter); > 583c601 < if (control_emit_event (object->data, message, name, env) < 0) { --- > if (control_emit_event (object->data, message, name, sync, env) < 0) { ==== //depot/thirdparty/upstart/company/0.5.1/init/control.c#2 (text) ==== 560a561 > int sync, 585a587 > 589,593c591,600 < blocked = blocked_new (event, BLOCKED_EMIT_METHOD, message); < if (! blocked) { < nih_error_raise_system (); < nih_free (event); < return -1; --- > if (sync){ > blocked = blocked_new (event, BLOCKED_EMIT_METHOD, message); > if (! blocked) { > nih_error_raise_system (); > nih_free (event); > return -1; > } > nih_list_add (&event->blocking, &blocked->entry); > } else { > control_emit_event_reply(message); 596d602 < nih_list_add (&event->blocking, &blocked->entry); ==== //depot/thirdparty/upstart/company/0.5.1/init/control.h#2 (text) ==== 71c71 < const char *name, char * const *env) --- > const char *name,int sync, char * const *env) ==== //depot/thirdparty/upstart/company/0.5.1/util/com.ubuntu.Upstart.c#2 (text) ==== 303a304 > int sync, 331a333,338 > if (! dbus_message_iter_append_basic (&iter, DBUS_TYPE_BOOLEAN, &sync)) { > dbus_message_unref (message); > nih_return_no_memory_error (-1); > > } > ==== //depot/thirdparty/upstart/company/0.5.1/util/com.ubuntu.Upstart.h#2 (text) ==== 40c40 < int control_emit_event (NihDBusProxy *proxy, const char *name, char * const *env) --- > int control_emit_event (NihDBusProxy *proxy, const char *name, int sync, char * const *env) ==== //depot/thirdparty/upstart/company/0.5.1/util/initctl.c#3 (text) ==== 504c504 < if (control_emit_event (proxy, args[0], args + 1)) { --- > if (control_emit_event (proxy, args[0],(no_wait)?0:1 /* sync */ , args + 1)) { ==== //depot/thirdparty/upstart/company/0.5.1/util/shutdown.c#2 (text) ==== 511c511 < if (control_emit_event (proxy, "runlevel", env)) { --- > if (control_emit_event (proxy, "runlevel", 1 /* sync */, env)) { ==== //depot/thirdparty/upstart/company/0.5.1/util/telinit.c#2 (text) ==== 145c145 < if (control_emit_event (proxy, "runlevel", env)) { --- > if (control_emit_event (proxy, "runlevel",1 /* sync */, env)) {