/*=========================================================================== * FUNCTION : mm_camera_poll_thread * * DESCRIPTION: polling thread entry function * * PARAMETERS : * @data : ptr to poll thread object * * RETURN : none *==========================================================================*/ static void *mm_camera_poll_thread(void *data) { mm_camera_poll_thread_t *poll_cb = (mm_camera_poll_thread_t *)data; /* add pipe read fd into poll first */ poll_cb->poll_fds[poll_cb->num_fds++].fd = poll_cb->pfds[0]; mm_camera_poll_sig_done(poll_cb); mm_camera_poll_set_state(poll_cb, MM_CAMERA_POLL_TASK_STATE_POLL); return mm_camera_poll_fn(poll_cb); }
static void *mm_camera_poll_thread(void *data) { int rc = 0; int i; void *ret = NULL; mm_camera_poll_thread_t *poll_cb = (mm_camera_poll_thread_t *)data; /* add pipe read fd into poll first */ poll_cb->poll_fds[poll_cb->num_fds++].fd = poll_cb->pfds[0]; //poll_cb->poll_fds[poll_cb->num_fds++].fd = (((mm_camera_obj_t *)poll_cb->my_obj)->ctrl_fd); mm_camera_poll_sig_done(poll_cb); mm_camera_poll_set_state(poll_cb, MM_CAMERA_POLL_TASK_STATE_POLL); ret = mm_camera_poll_fn(poll_cb); return ret; }
static void *mm_camera_poll_thread(void *data) { int rc = 0; int i; void *ret = NULL; mm_camera_poll_thread_t *poll_cb = data; poll_cb->data.poll_fd[poll_cb->data.num_fds++] = poll_cb->data.pfds[0]; switch(poll_cb->data.poll_type) { case MM_CAMERA_POLL_TYPE_EVT: poll_cb->data.poll_fd[poll_cb->data.num_fds++] = ((mm_camera_obj_t *)(poll_cb->data.my_obj))->ctrl_fd; break; case MM_CAMERA_POLL_TYPE_CH: default: break; } mm_camera_poll_sig_done(poll_cb); ret = mm_camera_poll_fn(poll_cb); return ret; }