int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread, mm_camera_cmd_cb_t cb, void* user_data) { int32_t rc = 0; cam_sem_init(&cmd_thread->cmd_sem, 0); cam_queue_init(&cmd_thread->cmd_queue); cmd_thread->cb = cb; cmd_thread->user_data = user_data; /* launch the thread */ pthread_create(&cmd_thread->cmd_pid, NULL, mm_camera_cmd_thread, (void *)cmd_thread); return rc; }
int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread, mm_camera_cmd_cb_t cb, void* user_data) { int32_t rc = 0; cam_sem_init(&cmd_thread->cmd_sem, 0); cam_queue_init(&cmd_thread->cmd_queue); cmd_thread->cb = cb; cmd_thread->user_data = user_data; /* launch the thread */ pthread_create(&cmd_thread->cmd_pid, NULL, mm_camera_cmd_thread, (void *)cmd_thread); if (!cmd_thread->threadName) { pthread_setname_np(cmd_thread->cmd_pid, "CAM_launch"); } else { pthread_setname_np(cmd_thread->cmd_pid, cmd_thread->threadName); } return rc; }