diff options
| author | Mansoor Aftab <maftab@codeaurora.org> | 2013-09-05 16:53:58 -0700 |
|---|---|---|
| committer | Ali B <abittin@gmail.com> | 2018-06-17 19:16:30 +0300 |
| commit | b658646d3bb36c51d55b3b35f8624de2c35a07f3 (patch) | |
| tree | edd26068dc449d258cff0c0972fe8d0f2f0a3436 | |
| parent | b57eb29dbb7d8c4233fb5e5e024aa31271849a1f (diff) | |
Camera3: Name HAL threads
Name the HAL threads to make debugging easier
Bug: 10609699
Change-Id: Ic953947eca7e4fde7c87bd7c890d1811cc3ff2fb
| -rw-r--r--[-rwxr-xr-x] | camera/QCamera2/HAL3/QCamera3PostProc.cpp | 1 | ||||
| -rwxr-xr-x | camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h | 1 | ||||
| -rwxr-xr-x | camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c | 1 | ||||
| -rw-r--r-- | camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c | 2 | ||||
| -rwxr-xr-x | camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c | 1 | ||||
| -rw-r--r--[-rwxr-xr-x] | camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c | 11 | ||||
| -rw-r--r-- | camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c | 2 | ||||
| -rw-r--r-- | camera/QCamera2/util/QCameraCmdThread.cpp | 20 | ||||
| -rw-r--r-- | camera/QCamera2/util/QCameraCmdThread.h | 1 |
9 files changed, 40 insertions, 0 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3PostProc.cpp b/camera/QCamera2/HAL3/QCamera3PostProc.cpp index a69257d..fab9f08 100755..100644 --- a/camera/QCamera2/HAL3/QCamera3PostProc.cpp +++ b/camera/QCamera2/HAL3/QCamera3PostProc.cpp @@ -997,6 +997,7 @@ void *QCamera3PostProcessor::dataProcessRoutine(void *data) ALOGV("%s: E", __func__); QCamera3PostProcessor *pme = (QCamera3PostProcessor *)data; QCameraCmdThread *cmdThread = &pme->m_dataProcTh; + cmdThread->setName("cam_data_proc"); do { do { diff --git a/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h b/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h index 7f0a837..d139ed4 100755 --- a/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h +++ b/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h @@ -573,6 +573,7 @@ extern int32_t mm_camera_cmd_thread_launch( mm_camera_cmd_thread_t * cmd_thread, mm_camera_cmd_cb_t cb, void* user_data); +extern int32_t mm_camera_cmd_thread_name(const char* name); extern int32_t mm_camera_cmd_thread_release(mm_camera_cmd_thread_t * cmd_thread); #endif /* __MM_CAMERA_H__ */ 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 06daf2e..258240d 100755 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c @@ -119,6 +119,7 @@ uint8_t mm_camera_util_chip_is_a_family(void) static void mm_camera_dispatch_app_event(mm_camera_cmdcb_t *cmd_cb, void* user_data) { + mm_camera_cmd_thread_name("mm_cam_event"); int i; mm_camera_event_t *event = &cmd_cb->u.evt; mm_camera_obj_t * my_obj = (mm_camera_obj_t *)user_data; 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 9aa117a..9a6b3f5 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 @@ -153,6 +153,7 @@ mm_stream_t * mm_channel_util_get_stream_by_handler( static void mm_channel_dispatch_super_buf(mm_camera_cmdcb_t *cmd_cb, void* user_data) { + mm_camera_cmd_thread_name("mm_cam_cb"); mm_channel_t * my_obj = (mm_channel_t *)user_data; if (NULL == my_obj) { @@ -188,6 +189,7 @@ static void mm_channel_dispatch_super_buf(mm_camera_cmdcb_t *cmd_cb, static void mm_channel_process_stream_buf(mm_camera_cmdcb_t * cmd_cb, void *user_data) { + mm_camera_cmd_thread_name("mm_cam_cmd"); mm_camera_super_buf_notify_mode_t notify_mode; mm_channel_queue_node_t *node = NULL; mm_channel_t *ch_obj = (mm_channel_t *)user_data; 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 ad407b4..228970d 100755 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c @@ -262,6 +262,7 @@ static void mm_stream_dispatch_app_data(mm_camera_cmdcb_t *cmd_cb, mm_stream_t * my_obj = (mm_stream_t *)user_data; mm_camera_buf_info_t* buf_info = NULL; mm_camera_super_buf_t super_buf; + mm_camera_cmd_thread_name("mm_cam_stream"); if (NULL == my_obj) { return; 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 8596fc9..9f0dfe7 100755..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 @@ -32,6 +32,7 @@ #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> +#include <sys/prctl.h> #include <fcntl.h> #include <poll.h> #include <cam_semaphore.h> @@ -334,6 +335,7 @@ static void *mm_camera_poll_fn(mm_camera_poll_thread_t *poll_cb) *==========================================================================*/ static void *mm_camera_poll_thread(void *data) { + prctl(PR_SET_NAME, (unsigned long)"mm_cam_poll_th", 0, 0, 0); mm_camera_poll_thread_t *poll_cb = (mm_camera_poll_thread_t *)data; /* add pipe read fd into poll first */ @@ -620,6 +622,15 @@ int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread, return rc; } +int32_t mm_camera_cmd_thread_name(const char* name) +{ + int32_t rc = 0; + /* name the thread */ + prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0); + return rc; +} + + int32_t mm_camera_cmd_thread_stop(mm_camera_cmd_thread_t * cmd_thread) { int32_t rc = 0; diff --git a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c index 79fefc1..e74b4dd 100644 --- a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c +++ b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c @@ -32,6 +32,7 @@ #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> +#include <sys/prctl.h> #include <fcntl.h> #include <poll.h> @@ -1524,6 +1525,7 @@ static void *mm_jpeg_jobmgr_thread(void *data) mm_jpeg_obj *my_obj = (mm_jpeg_obj*)data; mm_jpeg_job_cmd_thread_t *cmd_thread = &my_obj->job_mgr; mm_jpeg_job_q_node_t* node = NULL; + prctl(PR_SET_NAME, (unsigned long)"mm_jpeg_thread", 0, 0, 0); do { do { diff --git a/camera/QCamera2/util/QCameraCmdThread.cpp b/camera/QCamera2/util/QCameraCmdThread.cpp index d1061e5..4b24649 100644 --- a/camera/QCamera2/util/QCameraCmdThread.cpp +++ b/camera/QCamera2/util/QCameraCmdThread.cpp @@ -30,6 +30,7 @@ #include <utils/Errors.h> #include <utils/Log.h> #include <malloc.h> +#include <sys/prctl.h> #include "QCameraCmdThread.h" using namespace android; @@ -93,6 +94,25 @@ int32_t QCameraCmdThread::launch(void *(*start_routine)(void *), } /*=========================================================================== + * FUNCTION : setName + * + * DESCRIPTION: name the cmd thread + * + * PARAMETERS : + * @name : desired name for the thread + * + * RETURN : int32_t type of status + * NO_ERROR -- success + * none-zero failure code + *==========================================================================*/ +int32_t QCameraCmdThread::setName(const char* name) +{ + /* name the thread */ + prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0); + return NO_ERROR; +} + +/*=========================================================================== * FUNCTION : sendCmd * * DESCRIPTION: send a command to the Cmd Thread diff --git a/camera/QCamera2/util/QCameraCmdThread.h b/camera/QCamera2/util/QCameraCmdThread.h index 803dfd6..a9511dc 100644 --- a/camera/QCamera2/util/QCameraCmdThread.h +++ b/camera/QCamera2/util/QCameraCmdThread.h @@ -58,6 +58,7 @@ public: ~QCameraCmdThread(); int32_t launch(void *(*start_routine)(void *), void* user_data); + int32_t setName(const char* name); int32_t exit(); int32_t sendCmd(camera_cmd_type_t cmd, uint8_t sync_cmd, uint8_t priority); camera_cmd_type_t getCmd(); |
