OSDN Git Service

Merge "DO NOT MERGE: osi: Offload mutex pointer to local scope" into oc-dev am: 99a02...
authorMartin Brabham <optedoblivion@google.com>
Wed, 8 May 2019 16:45:37 +0000 (09:45 -0700)
committerandroid-build-merger <android-build-merger@google.com>
Wed, 8 May 2019 16:45:37 +0000 (09:45 -0700)
am: dd2e11092a

Change-Id: I5dcb7baaf68e522a0604a30c53be5d61bf315a73

1  2 
osi/src/alarm.cc
osi/test/alarm_test.cc

@@@ -181,14 -155,10 +181,15 @@@ static alarm_t* alarm_new_internal(cons
  
    alarm_t* ret = static_cast<alarm_t*>(osi_calloc(sizeof(alarm_t)));
  
-   ret->callback_mutex = new std::recursive_mutex;
+   std::shared_ptr<std::recursive_mutex> ptr(new std::recursive_mutex());
+   ret->callback_mutex = ptr;
    ret->is_periodic = is_periodic;
    ret->stats.name = osi_strdup(name);
 +
 +  ret->for_msg_loop = false;
 +  // placement new
 +  new (&ret->closure) CancelableClosureInStruct();
 +
    // NOTE: The stats were reset by osi_calloc() above
  
    return ret;
@@@ -198,9 -168,8 +199,9 @@@ void alarm_free(alarm_t* alarm) 
    if (!alarm) return;
  
    alarm_cancel(alarm);
-   delete alarm->callback_mutex;
    osi_free((void*)alarm->stats.name);
 +  alarm->closure.~CancelableClosureInStruct();
    osi_free(alarm);
  }
  
Simple merge