diff options
author | Zhijun He <zhijunhe@google.com> | 2014-09-16 20:04:14 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-16 20:04:14 +0000 |
commit | 7cae0f00b0e82a1d7940476eeeb856bf547fde9c (patch) | |
tree | e2046d388a04d2399160e26694b74bf144372490 /camera | |
parent | 520d13bbdafdaf6a9277d4f24b71a4a886de4ac8 (diff) | |
parent | ff3faea86c4fa6a4ff266533783e98c5bfe40104 (diff) | |
download | shamu-7cae0f00b0e82a1d7940476eeeb856bf547fde9c.tar.gz |
Merge "Camera3: Fix invalid file description check" into lmp-dev
Diffstat (limited to 'camera')
8 files changed, 47 insertions, 41 deletions
diff --git a/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c b/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c index 9d149506..332821ab 100644 --- a/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c +++ b/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c @@ -93,7 +93,7 @@ int mm_camera_socket_create(int cam_id, mm_camera_sock_type_t sock_type) *==========================================================================*/
void mm_camera_socket_close(int fd)
{
- if (fd > 0) {
+ if (fd >= 0) {
close(fd);
}
}
diff --git a/camera/QCamera2/HAL3/QCamera3Mem.cpp b/camera/QCamera2/HAL3/QCamera3Mem.cpp index e7191f06..05b47a00 100644 --- a/camera/QCamera2/HAL3/QCamera3Mem.cpp +++ b/camera/QCamera2/HAL3/QCamera3Mem.cpp @@ -327,7 +327,7 @@ int QCamera3HeapMemory::allocOneBuffer(QCamera3MemInfo &memInfo, int heap_id, in int main_ion_fd = 0; main_ion_fd = open("/dev/ion", O_RDONLY); - if (main_ion_fd <= 0) { + if (main_ion_fd < 0) { ALOGE("Ion dev open failed: %s\n", strerror(errno)); goto ION_OPEN_FAILED; } diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c index 5f282ed7..4a689fa6 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c @@ -256,7 +256,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) n_try--; my_obj->ctrl_fd = open(dev_name, O_RDWR | O_NONBLOCK); CDBG("%s: ctrl_fd = %d, errno == %d", __func__, my_obj->ctrl_fd, errno); - if((my_obj->ctrl_fd > 0) || (errno != EIO) || (n_try <= 0 )) { + if((my_obj->ctrl_fd >= 0) || (errno != EIO) || (n_try <= 0 )) { CDBG_HIGH("%s: opened, break out while loop", __func__); break; } @@ -265,7 +265,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) usleep(sleep_msec * 1000); }while (n_try > 0); - if (my_obj->ctrl_fd <= 0) { + if (my_obj->ctrl_fd < 0) { CDBG_ERROR("%s: cannot open control fd of '%s' (%s)\n", __func__, dev_name, strerror(errno)); rc = -1; @@ -278,7 +278,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) n_try--; my_obj->ds_fd = mm_camera_socket_create(cam_idx, MM_CAMERA_SOCK_TYPE_UDP); CDBG("%s: ds_fd = %d, errno = %d", __func__, my_obj->ds_fd, errno); - if((my_obj->ds_fd > 0) || (n_try <= 0 )) { + if((my_obj->ds_fd >= 0) || (n_try <= 0 )) { CDBG("%s: opened, break out while loop", __func__); break; } @@ -287,7 +287,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) usleep(sleep_msec * 1000); } while (n_try > 0); - if (my_obj->ds_fd <= 0) { + if (my_obj->ds_fd < 0) { CDBG_ERROR("%s: cannot open domain socket fd of '%s'(%s)\n", __func__, dev_name, strerror(errno)); rc = -1; @@ -321,13 +321,13 @@ on_error: CDBG_ERROR("%s: Invalid camera object\n", __func__); rc = -1; } else { - if (my_obj->ctrl_fd > 0) { + if (my_obj->ctrl_fd >= 0) { close(my_obj->ctrl_fd); - my_obj->ctrl_fd = 0; + my_obj->ctrl_fd = -1; } - if (my_obj->ds_fd > 0) { + if (my_obj->ds_fd >= 0) { mm_camera_socket_close(my_obj->ds_fd); - my_obj->ds_fd = 0; + my_obj->ds_fd = -1; } } @@ -361,13 +361,13 @@ int32_t mm_camera_close(mm_camera_obj_t *my_obj) CDBG("%s : Close evt cmd Thread in Cam Close",__func__); mm_camera_cmd_thread_release(&my_obj->evt_thread); - if(my_obj->ctrl_fd > 0) { + if(my_obj->ctrl_fd >= 0) { close(my_obj->ctrl_fd); - my_obj->ctrl_fd = 0; + my_obj->ctrl_fd = -1; } - if(my_obj->ds_fd > 0) { + if(my_obj->ds_fd >= 0) { mm_camera_socket_close(my_obj->ds_fd); - my_obj->ds_fd = 0; + my_obj->ds_fd = -1; } pthread_mutex_destroy(&my_obj->msg_lock); diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c index a3587559..79d75649 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c @@ -903,6 +903,7 @@ uint32_t mm_channel_add_stream(mm_channel_t *my_obj) /* initialize stream object */ memset(stream_obj, 0, sizeof(mm_stream_t)); + stream_obj->fd = -1; stream_obj->my_hdl = mm_camera_util_generate_handler(idx); stream_obj->ch_obj = my_obj; pthread_mutex_init(&stream_obj->buf_lock, NULL); diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c index ce59f6e4..936e35aa 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c @@ -1283,14 +1283,14 @@ void get_sensor_info() if (rc < 0) { CDBG_ERROR("Error: ioctl media_dev failed: %s\n", strerror(errno)); close(dev_fd); - dev_fd = 0; + dev_fd = -1; num_cameras = 0; break; } if(strncmp(mdev_info.model, MSM_CONFIGURATION_NAME, sizeof(mdev_info.model)) != 0) { close(dev_fd); - dev_fd = 0; + dev_fd = -1; continue; } @@ -1328,7 +1328,7 @@ void get_sensor_info() __func__, num_cameras, g_cam_ctrl.video_dev_name[num_cameras]); close(dev_fd); - dev_fd = 0; + dev_fd = -1; } CDBG("%s: num_cameras=%d\n", __func__, g_cam_ctrl.num_cam); @@ -1386,14 +1386,14 @@ uint8_t get_num_of_cameras() if (rc < 0) { CDBG_ERROR("Error: ioctl media_dev failed: %s\n", strerror(errno)); close(dev_fd); - dev_fd = 0; + dev_fd = -1; break; } if (strncmp(mdev_info.model, MSM_CONFIGURATION_NAME, sizeof(mdev_info.model)) != 0) { close(dev_fd); - dev_fd = 0; + dev_fd = -1; continue; } @@ -1417,7 +1417,7 @@ uint8_t get_num_of_cameras() } } close(dev_fd); - dev_fd = 0; + dev_fd = -1; } /* Open sensor_init subdev */ @@ -1433,7 +1433,7 @@ uint8_t get_num_of_cameras() CDBG_ERROR("failed"); } close(sd_fd); - dev_fd = 0; + dev_fd = -1; num_media_devices = 0; @@ -1442,7 +1442,7 @@ uint8_t get_num_of_cameras() int num_entities; snprintf(dev_name, sizeof(dev_name), "/dev/media%d", num_media_devices); dev_fd = open(dev_name, O_RDWR | O_NONBLOCK); - if (dev_fd <= 0) { + if (dev_fd < 0) { CDBG("Done discovering media devices: %s\n", strerror(errno)); break; } @@ -1452,14 +1452,14 @@ uint8_t get_num_of_cameras() if (rc < 0) { CDBG_ERROR("Error: ioctl media_dev failed: %s\n", strerror(errno)); close(dev_fd); - dev_fd = 0; + dev_fd = -1; num_cameras = 0; break; } if(strncmp(mdev_info.model, MSM_CAMERA_NAME, sizeof(mdev_info.model)) != 0) { close(dev_fd); - dev_fd = 0; + dev_fd = -1; continue; } @@ -1486,7 +1486,7 @@ uint8_t get_num_of_cameras() num_cameras++; close(dev_fd); - dev_fd = 0; + dev_fd = -1; } g_cam_ctrl.num_cam = num_cameras; @@ -1616,6 +1616,8 @@ mm_camera_vtbl_t * camera_open(uint8_t camera_idx) /* initialize camera obj */ memset(cam_obj, 0, sizeof(mm_camera_obj_t)); + cam_obj->ctrl_fd = -1; + cam_obj->ds_fd = -1; cam_obj->ref_count++; cam_obj->my_hdl = mm_camera_util_generate_handler(camera_idx); cam_obj->vtbl.camera_handle = cam_obj->my_hdl; /* set handler */ diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c index 02e8e801..4dff6891 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c @@ -396,7 +396,7 @@ int32_t mm_stream_fsm_inited(mm_stream_t *my_obj, mm_camera_util_get_dev_name(my_obj->ch_obj->cam_obj->my_hdl)); my_obj->fd = open(dev_name, O_RDWR | O_NONBLOCK); - if (my_obj->fd <= 0) { + if (my_obj->fd < 0) { CDBG_ERROR("%s: open dev returned %d\n", __func__, my_obj->fd); rc = -1; break; @@ -409,7 +409,7 @@ int32_t mm_stream_fsm_inited(mm_stream_t *my_obj, /* failed setting ext_mode * close fd */ close(my_obj->fd); - my_obj->fd = 0; + my_obj->fd = -1; break; } break; @@ -828,7 +828,7 @@ int32_t mm_stream_release(mm_stream_t *my_obj) __func__, my_obj->my_hdl, my_obj->fd, my_obj->state); /* close fd */ - if(my_obj->fd > 0) + if(my_obj->fd >= 0) { close(my_obj->fd); } @@ -839,6 +839,7 @@ int32_t mm_stream_release(mm_stream_t *my_obj) /* reset stream obj */ memset(my_obj, 0, sizeof(mm_stream_t)); + my_obj->fd = -1; return 0; } diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c index 4975f3c1..3835f7b2 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c @@ -495,8 +495,8 @@ int32_t mm_camera_poll_thread_launch(mm_camera_poll_thread_t * poll_cb, int32_t rc = 0; poll_cb->poll_type = poll_type; - poll_cb->pfds[0] = 0; - poll_cb->pfds[1] = 0; + poll_cb->pfds[0] = -1; + poll_cb->pfds[1] = -1; rc = pipe(poll_cb->pfds); if(rc < 0) { CDBG_ERROR("%s: pipe open rc=%d\n", __func__, rc); @@ -540,16 +540,18 @@ int32_t mm_camera_poll_thread_release(mm_camera_poll_thread_t *poll_cb) } /* close pipe */ - if(poll_cb->pfds[0]) { + if(poll_cb->pfds[0] >= 0) { close(poll_cb->pfds[0]); } - if(poll_cb->pfds[1]) { + if(poll_cb->pfds[1] >= 0) { close(poll_cb->pfds[1]); } pthread_mutex_destroy(&poll_cb->mutex); pthread_cond_destroy(&poll_cb->cond_v); memset(poll_cb, 0, sizeof(mm_camera_poll_thread_t)); + poll_cb->pfds[0] = -1; + poll_cb->pfds[1] = -1; return rc; } diff --git a/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c b/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c index 6bbf748d..675d9c1a 100644 --- a/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c +++ b/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c @@ -726,7 +726,7 @@ void *eztune_proc(void *data) lib_handle->tsctrl.proto = NULL; close(client_socket); - client_socket = 0; + client_socket = -1; //tuneserver_check_status(&tsctrl); } else { CDBG("%s: Processing socket command\n", __func__); @@ -740,7 +740,7 @@ void *eztune_proc(void *data) lib_handle->tsctrl.proto = NULL; close(client_socket); - client_socket = 0; + client_socket = -1; //tuneserver_check_status(&tsctrl); continue; } @@ -791,7 +791,7 @@ void *eztune_proc(void *data) if (result < 0) { ALOGE("tuneserver_initialize_prevtuningp error!"); close(prev_client_socket); - prev_client_socket = 0; + prev_client_socket = -1; } } @@ -819,7 +819,7 @@ void *eztune_proc(void *data) (char **)&lib_handle->tsctrl.proto->send_buf, &lib_handle->tsctrl.proto->send_len); close(prev_client_socket); - prev_client_socket = 0; + prev_client_socket = -1; } else { result = prevserver_process_client_message((void *)buf, &lib_handle->tsctrl); @@ -833,7 +833,7 @@ void *eztune_proc(void *data) (char **)&lib_handle->tsctrl.proto->send_buf, &lib_handle->tsctrl.proto->send_len); close(prev_client_socket); - prev_client_socket = 0; + prev_client_socket = -1; //tuneserver_check_status(&tsctrl); } //sleep(1); @@ -841,16 +841,16 @@ void *eztune_proc(void *data) } } while (1); - if (server_socket > 0) { + if (server_socket >= 0) { close(server_socket); } - if (client_socket > 0) { + if (client_socket >= 0) { close(client_socket); } - if (prev_server_socket > 0) { + if (prev_server_socket >= 0) { close(prev_server_socket); } - if (prev_client_socket > 0) { + if (prev_client_socket >= 0) { close(prev_client_socket); } |