void KSMServer::startKilling() { knotifyTimeoutTimer.stop(); // kill all clients state = Killing; for ( KSMClient* c = clients.first(); c; c = clients.next() ) { if( isWM( c )) // kill the WM as the last one in order to reduce flicker continue; kdDebug( 1218 ) << "completeShutdown: client " << c->program() << "(" << c->clientId() << ")" << endl; SmsDie( c->connection() ); } kdDebug( 1218 ) << " We killed all clients. We have now clients.count()=" << clients.count() << endl; completeKilling(); QTimer::singleShot( 10000, this, SLOT( timeoutQuit() ) ); }
void KSMServer::killWM() { state = KillingWM; bool iswm = false; for ( KSMClient* c = clients.first(); c; c = clients.next() ) { if( isWM( c )) { iswm = true; kdDebug( 1218 ) << "killWM: client " << c->program() << "(" << c->clientId() << ")" << endl; SmsDie( c->connection() ); } } if( iswm ) { completeKillingWM(); QTimer::singleShot( 5000, this, SLOT( timeoutWMQuit() ) ); } else killingCompleted(); }
static gboolean xsmp_stop (GsmClient *client, GError **error) { GsmXSMPClient *xsmp = (GsmXSMPClient *) client; g_debug ("GsmXSMPClient: xsmp_stop ('%s')", xsmp->priv->description); if (xsmp->priv->conn == NULL) { g_set_error (error, GSM_CLIENT_ERROR, GSM_CLIENT_ERROR_NOT_REGISTERED, "Client is not registered"); return FALSE; } SmsDie (xsmp->priv->conn); return TRUE; }