Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c64ccdbe authored by Ugo Yu's avatar Ugo Yu Committed by android-build-merger
Browse files

Rename and reset the proirity of HID host thread

am: a05a498c

Change-Id: Id5519e905054ab98f8c37537e9c4dc522cad4680
parents 6de397fc a05a498c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ const char* dev_path = "/dev/uhid";
static tBTA_HH_RPT_CACHE_ENTRY sReportCache[BTA_HH_NV_LOAD_MAX];
#endif
#define GET_RPT_RSP_OFFSET 9
#define THREAD_NORMAL_PRIORITY 0
#define BT_HH_THREAD "bt_hh_thread"

void uhid_set_non_blocking(int fd) {
  int opts = fcntl(fd, F_GETFL);
@@ -208,6 +210,17 @@ static void* btif_hh_poll_event_thread(void* arg) {
  APPL_TRACE_DEBUG("%s: Thread created fd = %d", __func__, p_dev->fd);
  struct pollfd pfds[1];

  // This thread is created by bt_main_thread with RT priority. Lower the thread
  // priority here since the tasks in this thread is not timing critical.
  struct sched_param sched_params;
  sched_params.sched_priority = THREAD_NORMAL_PRIORITY;
  if (sched_setscheduler(gettid(), SCHED_OTHER, &sched_params)) {
    APPL_TRACE_ERROR("%s: Failed to set thread priority to normal", __func__);
    p_dev->hh_poll_thread_id = -1;
    return 0;
  }
  pthread_setname_np(pthread_self(), BT_HH_THREAD);

  pfds[0].fd = p_dev->fd;
  pfds[0].events = POLLIN;