From: kibak.yoon Date: Fri, 1 Apr 2016 07:46:36 +0000 (+0900) Subject: sensor-hal: change strerror to strerror_r X-Git-Tag: submit/tizen/20210607.085043~27^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61747df734a8ecbc294f6fbf4df00efb71fc8551;p=platform%2Fhal%2Fbackend%2Ftm1%2Fsensor-tm1.git sensor-hal: change strerror to strerror_r * use thread-safe function(strerror_r) Change-Id: I89366cc60f758be78ef7c6e8a9d6ac4b38e62942 Signed-off-by: kibak.yoon --- diff --git a/src/accel/accel.cpp b/src/accel/accel.cpp index 6466c24..cc856b4 100644 --- a/src/accel/accel.cpp +++ b/src/accel/accel.cpp @@ -91,7 +91,7 @@ accel_device::accel_device() m_interval_node = info.interval_node_path; if ((m_node_handle = open(m_data_node.c_str(), O_RDWR)) < 0) { - ERR("accel handle open fail for accel processor, error:%s\n", strerror(errno)); + _ERRNO(errno, _E, "accel handle open fail for accel processor"); throw ENXIO; } diff --git a/src/create.cpp b/src/create.cpp index 0b6e2cd..33f54fc 100644 --- a/src/create.cpp +++ b/src/create.cpp @@ -32,10 +32,10 @@ void create_sensor(const char *name) try { instance = new _sensor; } catch (std::exception &e) { - ERR("Failed to create %s sensor device, exception: %s", name, e.what()); + ERR("Failed to create %s sensor device (%s)", name, e.what()); return; } catch (int err) { - ERR("Failed to create %s sensor device, err: %d, cause: %s", name, err, strerror(err)); + _ERRNO(err, _E, "Failed to create %s sensor device", name); return; } diff --git a/src/proxi/proxi.cpp b/src/proxi/proxi.cpp index e029cdb..819a5b6 100644 --- a/src/proxi/proxi.cpp +++ b/src/proxi/proxi.cpp @@ -82,7 +82,7 @@ proxi_device::proxi_device() m_enable_node = info.enable_node_path; if ((m_node_handle = open(m_data_node.c_str(), O_RDWR)) < 0) { - ERR("accel handle open fail for accel processor, error:%s", strerror(errno)); + _ERRNO(errno, _E, "proxi handle open fail for proxi device"); throw ENXIO; } @@ -154,7 +154,7 @@ bool proxi_device::update_value_input_event(void) int len = read(m_node_handle, &proxi_event, sizeof(proxi_event)); if (len == -1) { - DBG("read(m_node_handle) is error:%s", strerror(errno)); + _ERRNO(errno, _D, "Failed to read from m_node_handle[%d]", m_node_handle); return false; } diff --git a/src/sensor_logs.h b/src/sensor_logs.h index 3385aad..395abb1 100644 --- a/src/sensor_logs.h +++ b/src/sensor_logs.h @@ -61,6 +61,16 @@ enum sf_priority_type { #define _I INFO #define _D DBG +#define _ERRNO(errno, tag, fmt, arg...) do { \ + char buf[1024]; \ + char *error = strerror_r(errno, buf, 1024); \ + if (!error) { \ + _E("Failed to strerror_r()"); \ + break; \ + } \ + tag(fmt" (%s[%d])", ##arg, error, errno); \ + } while (0) + #if defined(_DEBUG) # define warn_if(expr, fmt, arg...) do { \ if(expr) { \