Exemple #1
0
static void * server_pipe_thread(void *pointer){
	ortp_pipe_t child;

	do{
		child=ortp_server_pipe_accept_client(server_pipe);
		if (server_pipe_running && child!=(ortp_pipe_t)-1){
			char buf[256]={0};
			if (ortp_pipe_read(child,(uint8_t*)buf,sizeof(buf))>0){
				g_message("Received wakeup command with arg %s",buf);
				gdk_threads_enter();
				g_timeout_add(20,(GSourceFunc)execute_wakeup,g_strdup(buf));
				gdk_threads_leave();
			}
			ortp_server_pipe_close_client(child);
		}
	}while(server_pipe_running);
	ortp_server_pipe_close(server_pipe);
	return NULL;
}
static void stop_pipe_reader(void){
	pipe_reader_run=FALSE;
	linphonec_command_finished();
	ortp_server_pipe_close(server_sock);
	ortp_thread_join(pipe_reader_th,NULL);
}