summaryrefslogtreecommitdiff
path: root/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c')
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c10
1 files changed, 6 insertions, 4 deletions
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 9f0dfe7..0e6c774 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
@@ -494,8 +494,8 @@ int32_t mm_camera_poll_thread_launch(mm_camera_poll_thread_t * poll_cb,
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);
@@ -544,10 +544,10 @@ 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]);
}
@@ -556,6 +556,8 @@ int32_t mm_camera_poll_thread_release(mm_camera_poll_thread_t *poll_cb)
memset(poll_cb, 0, sizeof(mm_camera_poll_thread_t));
done:
pthread_mutex_unlock(&constr_destr_lock);
+ poll_cb->pfds[0] = -1;
+ poll_cb->pfds[1] = -1;
return rc;
}