diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2018-01-11 10:45:23 +0100 |
---|---|---|
committer | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2018-01-11 12:57:33 +0100 |
commit | 96f46f5faab294d58f4584fe39cf618907c51cd6 (patch) | |
tree | 268cf463027d2e1ce8246514da6fa45a90431fee | |
parent | 2da2e8ffdb284d037b71d3ba5a2979224e592f3c (diff) | |
download | gst-plugins-camera-n4-96f46f5faab294d58f4584fe39cf618907c51cd6.tar.gz gst-plugins-camera-n4-96f46f5faab294d58f4584fe39cf618907c51cd6.tar.bz2 gst-plugins-camera-n4-96f46f5faab294d58f4584fe39cf618907c51cd6.zip |
Ensure there is no attempts to close incorrect file descriptor
When destroying the camerasrc plugin instance there was incorrectly called
close() on fd_3aa0c and fd_3aa0 which was not initially set to an invalid
value and value of those fields was 0 at that time. This resulted to closing
stdin stream of the camera application, leading to errors when sending message
from the muse daemon like:
E/MUSED_CAMERA( 1332): muse_camera_dispatcher.c: __camera_dispatcher_send_msg(73)
> sending message[{ "api": 0, "api_class": 0, "ret": 0, "get_type": 5,
"get_index": -1, "handle": -219114416 }] failed. errno 25
Finally starting camera application was failing with en error:
D/TIZEN_N_CAMERA( 1273): camera.c: camera_create(2425) > cb info : 42
...
E/TIZEN_N_CAMERA( 1273): camera.c: _camera_client_wait_for_cb_return(529) > api 0 was TIMED OUT!
E/TIZEN_N_CAMERA( 1273): camera.c: _camera_client_wait_for_cb_return(542) > api 0 : error 0xffffffda
D/TIZEN_N_CAMERA( 1273): camera.c: _camera_client_callback_destroy(2167) > msg_recv thread[0xaad46b50] destroy
Fix this by initializing all camerasrc_handle_t::fd_* members to an invalid
value so there is no attempts to close an incorrect file descriptor.
Change-Id: I7bbce271f4b5eb535ce632e23390fea8298b7a3b
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
-rw-r--r-- | camerasrc/src/camerasrc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/camerasrc/src/camerasrc.c b/camerasrc/src/camerasrc.c index a207065..24003d7 100644 --- a/camerasrc/src/camerasrc.c +++ b/camerasrc/src/camerasrc.c @@ -1203,8 +1203,11 @@ static int _camerasrc_initialize_handle(camerasrc_handle_t *handle) handle->buffer_isp = NULL; handle->buffer_scc = NULL; handle->buffer_scp = NULL; + handle->fd_companion = -1; handle->fd_sensor = -1; handle->fd_isp = -1; + handle->fd_3aa0 = -1; + handle->fd_3aa0c = -1; handle->fd_3aa1 = -1; handle->fd_3aa1c = -1; handle->fd_scc = -1; |