Home | History | Annotate | Download | only in src

Lines Matching defs:cmd_thread

147     mm_camera_cmd_thread_t *cmd_thread =
153 ret = sem_wait(&cmd_thread->cmd_sem);
162 node = (mm_camera_cmdcb_t*)mm_camera_queue_deq(&cmd_thread->cmd_queue);
170 if (NULL != cmd_thread->cb) {
171 cmd_thread->cb(node, cmd_thread->user_data);
180 node = (mm_camera_cmdcb_t*)mm_camera_queue_deq(&cmd_thread->cmd_queue);
186 int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread,
192 sem_init(&cmd_thread->cmd_sem, 0, 0);
193 mm_camera_queue_init(&cmd_thread->cmd_queue);
194 cmd_thread->cb = cb;
195 cmd_thread->user_data = user_data;
198 pthread_create(&cmd_thread->cmd_pid,
201 (void *)cmd_thread);
205 int32_t mm_camera_cmd_thread_stop(mm_camera_cmd_thread_t * cmd_thread)
218 mm_camera_queue_enq(&cmd_thread->cmd_queue, node);
219 sem_post(&cmd_thread->cmd_sem);
222 if (pthread_join(cmd_thread->cmd_pid, NULL) != 0) {
228 int32_t mm_camera_cmd_thread_destroy(mm_camera_cmd_thread_t * cmd_thread)
231 mm_camera_queue_deinit(&cmd_thread->cmd_queue);
232 sem_destroy(&cmd_thread->cmd_sem);
233 memset(cmd_thread, 0, sizeof(mm_camera_cmd_thread_t));
237 int32_t mm_camera_cmd_thread_release(mm_camera_cmd_thread_t * cmd_thread)
240 rc = mm_camera_cmd_thread_stop(cmd_thread);
242 rc = mm_camera_cmd_thread_destroy(cmd_thread);