int main(int argc, char *argv[]) { struct TData_t *data; struct TTask_t *task; int shm_data, shm_task; sem_t *sem_task_ready, *sem_task_read, *sem_task_processed; /* Get shared memory segments and semaphores */ get_shm_segments(&shm_data, &shm_task, &data, &task); get_sems(&sem_task_ready, &sem_task_read, &sem_task_processed); /* One single iteration */ get_and_process_task(sem_task_ready, sem_task_read, data, task); notify_task_completed(sem_task_processed); close_shared_memory_segments(shm_data, shm_task); return EXIT_SUCCESS; }
int main(int argc,char *argv[]){ int shm_symbol; /* Descriptor del archivo de simbolos */ struct TSymbol_t *symbol; /* Estructura de datos de simbolos */ sem_t *sem_symbol_ready; /* Indica que el simbolo esta listo */ sem_t *sem_symbol_decoded; /* Indica que el simbolo esta decodificado */ /* Crear segmentos de memoria compartida */ get_shm_segments(&shm_symbol,&symbol); /* Obtener semaforos */ get_sems(&sem_symbol_ready,&sem_symbol_decoded); while(1){ get_and_process_task(sem_symbol_ready,sem_symbol_decoded,symbol); } return EXIT_SUCCESS; }