diff --git a/drivers/CpuUid.cpp b/drivers/CpuUid.cpp index 03861e5436..28c07d9f7a 100644 --- a/drivers/CpuUid.cpp +++ b/drivers/CpuUid.cpp @@ -16,6 +16,7 @@ #include "hal/cpu_uid_api.h" #include "platform/mbed_assert.h" +#include "platform/CriticalSectionLock.h" #include "drivers/CpuUid.h" #if DEVICE_CPUUID @@ -35,13 +36,10 @@ CpuUid::CpuUid() populate_uid_buf(); } -CpuUid::~CpuUid() -{ -} - void CpuUid::populate_uid_buf() { if (_uidptr == NULL) { + CriticalSectionLock lock; cpu_uid_get_uid(_uidbuf); _uidptr = _uidbuf; } @@ -50,6 +48,7 @@ void CpuUid::populate_uid_buf() void CpuUid::populate_str_buf() { if (_strptr == NULL) { + CriticalSectionLock lock; #ifdef MBED_CPU_UID_STR_SIZE_MAX cpu_uid_get_str(_strbuf); _strptr = _strbuf; diff --git a/drivers/CpuUid.h b/drivers/CpuUid.h index 4a27b418a3..edde129458 100644 --- a/drivers/CpuUid.h +++ b/drivers/CpuUid.h @@ -26,9 +26,6 @@ #define CPU_UID_STRING_BUFFER_SIZE (MBED_CPU_UID_SIZE * 2 + 1) #endif -#include -#include - namespace mbed { /** \addtogroup drivers */ @@ -43,10 +40,6 @@ public: */ CpuUid(); - /** CpuUid destructor - */ - virtual ~CpuUid(); - /** Get size of CPU UID in bytes * * @return Size of device's CPU UID in bytes