seat: be more verbose on asynchronous session switching
authorDavid Herrmann <dh.herrmann@googlemail.com>
Mon, 19 Nov 2012 12:18:53 +0000 (13:18 +0100)
committerDavid Herrmann <dh.herrmann@googlemail.com>
Mon, 19 Nov 2012 12:18:53 +0000 (13:18 +0100)
Print debug messages when doing asynchronous session switches and handle
EINPROGRESS as special error code.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
src/kmscon_seat.c

index 957869d..025b495 100644 (file)
@@ -330,8 +330,12 @@ static int seat_pause(struct kmscon_seat *seat, bool force)
        seat->current_sess->deactivating = true;
        ret = session_call_deactivate(seat->current_sess);
        if (ret) {
-               log_warning("cannot deactivate session %p: %d",
-                           seat->current_sess, ret);
+               if (ret == -EINPROGRESS)
+                       log_debug("pending deactivation for session %p",
+                                 seat->current_sess);
+               else
+                       log_warning("cannot deactivate session %p: %d",
+                                   seat->current_sess, ret);
                if (!force)
                        return ret;
        }
@@ -1043,6 +1047,7 @@ void kmscon_session_notify_deactivated(struct kmscon_session *sess)
        if (seat->current_sess != sess)
                return;
 
+       log_debug("session %p notified core about deactivation", sess);
        session_deactivate(sess);
        seat_reschedule(seat);
        if (seat->scheduled_vt) {