Пример #1
0
void check_signals()
{
	char *tmp=NULL;
	struct timeval current_time;
	WTimer *q;
	
	if(kill_sig!=0){
		if(kill_sig==SIGUSR1){
			/*if(wglobal.parent==0)
				tmp=get_string_property(COMM_WIN, wglobal.atom_private_ipc,
										NULL);*/
			wm_restart_other(tmp);
			assert(0);
		} 
		if(kill_sig==SIGTERM)
			wm_exit();

		deinit();
		kill(getpid(), kill_sig);
	}

	/* Check for timer events in the queue */
	if(had_tmr && queue.next!=NULL){
		gettimeofday(&current_time, NULL);
		while(queue.next!=NULL){
			if((TIMEVAL_LATER(current_time, queue.next->when))) {
				q=queue.next;
				queue.next=q->next;
				q->handler(q);
				/*free(q);*/
			}else{
				break;
			}
		}
		had_tmr=FALSE;
		do_set_timer();
	}
}
Пример #2
0
Файл: exec.c Проект: Cougar/pwm
void wm_restart()
{
	wm_restart_other(NULL);
}