diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2007-01-15 22:56:29 +0000 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2007-01-15 22:56:29 +0000 | 
| commit | 2e283d45fed08e9daa5d92d441e7d7c49a5f5a10 (patch) | |
| tree | f2f5e89072cc530434c5e29870931b52defff5f7 /hcid/dbus-service.c | |
| parent | 60bffeb160d10a099445cd5b5273819139a85896 (diff) | |
Add extra debug prints for service error situations
Diffstat (limited to 'hcid/dbus-service.c')
| -rw-r--r-- | hcid/dbus-service.c | 25 | 
1 files changed, 16 insertions, 9 deletions
| diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index 2882c452..5e064ca9 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -411,10 +411,12 @@ static gboolean service_shutdown_timeout(gpointer data)  {  	struct service *service = data; -	debug("Sending SIGKILL to %s since it didn't exit yet", -			service->exec); +	debug("Sending SIGKILL to \"%s\" (PID %d) since it didn't exit yet", +			service->exec, service->pid); -	kill(service->pid, SIGKILL); +	if (kill(service->pid, SIGKILL) < 0) +		error("kill(%d, SIGKILL): %s (%d)", service->pid, +				strerror(errno), errno);  	service->shutdown_timer = 0; @@ -423,7 +425,9 @@ static gboolean service_shutdown_timeout(gpointer data)  static void stop_service(struct service *service)  { -	kill(service->pid, SIGTERM); +	if (kill(service->pid, SIGTERM) < 0) +		error("kill(%d, SIGTERM): %s (%d)", service->pid, +				strerror(errno), errno);  	service->shutdown_timer = g_timeout_add(SHUTDOWN_TIMEOUT,  						service_shutdown_timeout,  						service); @@ -433,8 +437,8 @@ static gboolean service_startup_timeout(gpointer data)  {  	struct service *service = data; -	debug("Killing %s because it did not connect to D-Bus in time", -			service->exec); +	debug("Killing \"%s\" (PID %d) because it did not connect to D-Bus in time", +			service->exec, service->pid);  	if (service->action) {  		error_failed(get_dbus_connection(), service->action, ETIME); @@ -485,7 +489,9 @@ static DBusHandlerResult start(DBusConnection *conn,  	if (!dbus_connection_add_filter(conn, service_filter, service, NULL)) {  		error("Unable to add signal filter"); -		kill(service->pid, SIGKILL); +		if (kill(service->pid, SIGKILL) < 0) +			error("kill(%d, SIGKILL): %s (%d)", service->pid, +					strerror(errno), errno);  	}  	dbus_error_init(&derr); @@ -802,8 +808,9 @@ static void release_service(struct service *service)  	if (service->watch_id)  		g_source_remove(service->watch_id); -	if (service->pid) -		kill(service->pid, SIGKILL); +	if (service->pid && kill(service->pid, SIGKILL) < 0) +		error("kill(%d, SIGKILL): %s (%d)", service->pid, +				strerror(errno), errno);  	if (service->startup_timer)  		g_timeout_remove(service->startup_timer); | 
