From 41e02fe663939c291ccba4e93f8b50a8676ff082 Mon Sep 17 00:00:00 2001 From: hui1975 Date: Thu, 3 Nov 2022 21:18:57 +0800 Subject: [PATCH] =?UTF-8?q?58=E8=A1=8Cset=E5=A4=B1=E8=B4=A5=E5=89=8D?= =?UTF-8?q?=E8=A6=81=E5=85=B3=E9=97=ADfd=EF=BC=8C=E5=88=A0=E9=99=A499?= =?UTF-8?q?=E8=A1=8C=E6=81=92=E6=88=90=E7=AB=8B=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hui1975 Change-Id: I750feceaa1f7043f0518edad4eb629c5cd086717 --- utils/src/sensor_basic_data_channel.cpp | 54 ++++++++++++------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/utils/src/sensor_basic_data_channel.cpp b/utils/src/sensor_basic_data_channel.cpp index 29bfd591..3532b9cf 100755 --- a/utils/src/sensor_basic_data_channel.cpp +++ b/utils/src/sensor_basic_data_channel.cpp @@ -55,48 +55,46 @@ int32_t SensorBasicDataChannel::CreateSensorBasicChannel() return SENSOR_CHANNEL_SOCKET_CREATE_ERR; } // set socket attr - int32_t ret = setsockopt(socketPair[0], SOL_SOCKET, SO_SNDBUF, &SENSOR_READ_DATA_SIZE, - sizeof(SENSOR_READ_DATA_SIZE)); - if (ret != 0) { - SEN_HILOGE("setsockopt socketpair 0 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (setsockopt(socketPair[0], SOL_SOCKET, SO_SNDBUF, &SENSOR_READ_DATA_SIZE, sizeof(SENSOR_READ_DATA_SIZE)) != 0) { + SEN_HILOGE("setsockopt socketpair 0, SNDBUF failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } - ret = setsockopt(socketPair[1], SOL_SOCKET, SO_RCVBUF, &SENSOR_READ_DATA_SIZE, sizeof(SENSOR_READ_DATA_SIZE)); - if (ret != 0) { - SEN_HILOGE("setsockopt socketpair 1 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (setsockopt(socketPair[1], SOL_SOCKET, SO_RCVBUF, &SENSOR_READ_DATA_SIZE, sizeof(SENSOR_READ_DATA_SIZE)) != 0) { + SEN_HILOGE("setsockopt socketpair 1, RCVBUF failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } - int32_t bufferSize = DEFAULT_CHANNEL_SIZE; - ret = setsockopt(socketPair[0], SOL_SOCKET, SO_RCVBUF, &bufferSize, sizeof(bufferSize)); - if (ret != 0) { - SEN_HILOGE("setsockopt socketpair 0 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (setsockopt(socketPair[0], SOL_SOCKET, SO_RCVBUF, &DEFAULT_CHANNEL_SIZE, sizeof(DEFAULT_CHANNEL_SIZE)) != 0) { + SEN_HILOGE("setsockopt socketpair 0, RCVBUF failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } - ret = setsockopt(socketPair[1], SOL_SOCKET, SO_SNDBUF, &bufferSize, sizeof(bufferSize)); - if (ret != 0) { - SEN_HILOGE("setsockopt socketpair 1 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (setsockopt(socketPair[1], SOL_SOCKET, SO_SNDBUF, &DEFAULT_CHANNEL_SIZE, sizeof(DEFAULT_CHANNEL_SIZE)) != 0) { + SEN_HILOGE("setsockopt socketpair 1, SNDBUF failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } - ret = fcntl(socketPair[0], F_SETFL, O_NONBLOCK); - if (ret != 0) { - SEN_HILOGE("fcntl socketpair 0 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (fcntl(socketPair[0], F_SETFL, O_NONBLOCK) != 0) { + SEN_HILOGE("fcntl socketpair 0 failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } - ret = fcntl(socketPair[1], F_SETFL, O_NONBLOCK); - if (ret != 0) { - SEN_HILOGE("fcntl socketpair 1 failed"); - return SENSOR_CHANNEL_SOCKET_CREATE_ERR; + if (fcntl(socketPair[1], F_SETFL, O_NONBLOCK) != 0) { + SEN_HILOGE("fcntl socketpair 1 failed, errno: %{public}d", errno); + goto CLOSE_SOCK; } sendFd_ = socketPair[0]; receiveFd_ = socketPair[1]; - SEN_HILOGD("create socketpair success,receiveFd_:%{public}d,sendFd_:%{public}d", receiveFd_, sendFd_); return ERR_OK; + + CLOSE_SOCK: + close(socketPair[0]); + close(socketPair[1]); + sendFd_ = -1; + receiveFd_ = -1; + return SENSOR_CHANNEL_SOCKET_CREATE_ERR; } int32_t SensorBasicDataChannel::CreateSensorBasicChannel(MessageParcel &data) { CALL_LOG_ENTER; - if ((sendFd_ != -1) || (receiveFd_ != -1)) { + if (sendFd_ != -1) { SEN_HILOGD("already create socketpair"); return ERR_OK; } -- Gitee