void APP_CC lock_socket_release(void) { /* unlock socket variable */ LOG_DBG("lock_socket_release()"); tc_sem_inc(g_lock_socket); }
static int APP_CC run_exec(void) { int pid; LOG(10, ("run_exec:")); pid = g_fork(); if (pid == 0) { trans_delete(g_con_trans); g_close_wait_obj(g_term_event); g_close_wait_obj(g_thread_done_event); g_close_wait_obj(g_exec_event); tc_mutex_delete(g_exec_mutex); tc_sem_delete(g_exec_sem); g_execlp3(g_exec_name, g_exec_name, 0); g_exit(0); } g_exec_pid = pid; tc_sem_inc(g_exec_sem); return 0; }
void APP_CC lock_sync_sem_release(void) { /* inc sem */ LOG_DBG("lock_sync_sem_release()"); tc_sem_inc(g_sync_sem); }
/* i can't get stupid in_val to work, hum using global var for now */ THREAD_RV THREAD_CC xrdp_process_run(void* in_val) { struct xrdp_process* process; DEBUG(("process started")); process = g_process; g_process = 0; tc_sem_inc(g_process_sem); xrdp_process_main_loop(process); DEBUG(("process done")); return 0; }