From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 8A5221B418 for ; Sat, 10 Feb 2018 14:15:19 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Feb 2018 05:15:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,489,1511856000"; d="scan'208";a="17464352" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga006.jf.intel.com with ESMTP; 10 Feb 2018 05:15:16 -0800 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id w1ADFG38032458; Sat, 10 Feb 2018 13:15:16 GMT Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id w1ADFFPV002993; Sat, 10 Feb 2018 13:15:15 GMT Received: (from aburakov@localhost) by sivswdev01.ir.intel.com with LOCAL id w1ADFF6L002985; Sat, 10 Feb 2018 13:15:15 GMT From: Anatoly Burakov To: dev@dpdk.org Cc: jianfeng.tan@intel.com Date: Sat, 10 Feb 2018 13:15:15 +0000 Message-Id: <46a01b34318bbc799a0911fbb166a592c34ffa66.1518267551.git.anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH] eal: fix rte_errno values for IPC API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Feb 2018 13:15:21 -0000 rte_errno values should not be negative. Fixes: bacaa2754017 ("eal: add channel for multi-process communication") Fixes: 783b6e54971d ("eal: add synchronous multi-process communication") Cc: jianfeng.tan@intel.com Signed-off-by: Anatoly Burakov --- Notes: This is in DPDK coding style guide: http://dpdk.org/doc/guides/contributing/coding_style.html However, i should note that situation with this is a mess in DPDK, and in a lot of cases, rte_errno is set to -errno. lib/librte_eal/common/eal_common_proc.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c index b974837..caa8774 100644 --- a/lib/librte_eal/common/eal_common_proc.c +++ b/lib/librte_eal/common/eal_common_proc.c @@ -131,16 +131,16 @@ validate_action_name(const char *name) { if (name == NULL) { RTE_LOG(ERR, EAL, "Action name cannot be NULL\n"); - rte_errno = -EINVAL; + rte_errno = EINVAL; return -1; } if (strnlen(name, RTE_MP_MAX_NAME_LEN) == 0) { RTE_LOG(ERR, EAL, "Length of action name is zero\n"); - rte_errno = -EINVAL; + rte_errno = EINVAL; return -1; } if (strnlen(name, RTE_MP_MAX_NAME_LEN) == RTE_MP_MAX_NAME_LEN) { - rte_errno = -E2BIG; + rte_errno = E2BIG; return -1; } return 0; @@ -156,7 +156,7 @@ rte_mp_action_register(const char *name, rte_mp_t action) entry = malloc(sizeof(struct action_entry)); if (entry == NULL) { - rte_errno = -ENOMEM; + rte_errno = ENOMEM; return -1; } strcpy(entry->action_name, name); @@ -165,7 +165,7 @@ rte_mp_action_register(const char *name, rte_mp_t action) pthread_mutex_lock(&mp_mutex_action); if (find_action_entry_by_name(name) != NULL) { pthread_mutex_unlock(&mp_mutex_action); - rte_errno = -EEXIST; + rte_errno = EEXIST; free(entry); return -1; } @@ -505,7 +505,7 @@ check_input(const struct rte_mp_msg *msg) { if (msg == NULL) { RTE_LOG(ERR, EAL, "Msg cannot be NULL\n"); - rte_errno = -EINVAL; + rte_errno = EINVAL; return false; } @@ -514,14 +514,14 @@ check_input(const struct rte_mp_msg *msg) if (msg->len_param > RTE_MP_MAX_PARAM_LEN) { RTE_LOG(ERR, EAL, "Message data is too long\n"); - rte_errno = -E2BIG; + rte_errno = E2BIG; return false; } if (msg->num_fds > RTE_MP_MAX_FD_NUM) { RTE_LOG(ERR, EAL, "Cannot send more than %d FDs\n", RTE_MP_MAX_FD_NUM); - rte_errno = -E2BIG; + rte_errno = E2BIG; return false; } @@ -560,7 +560,7 @@ mp_request_one(const char *dst, struct rte_mp_msg *req, pthread_mutex_unlock(&sync_requests.lock); if (exist) { RTE_LOG(ERR, EAL, "A pending request %s:%s\n", dst, req->name); - rte_errno = -EEXIST; + rte_errno = EEXIST; return -1; } @@ -596,7 +596,7 @@ mp_request_one(const char *dst, struct rte_mp_msg *req, if (sync_req.reply_received == 0) { RTE_LOG(ERR, EAL, "Fail to recv reply for request %s:%s\n", dst, req->name); - rte_errno = -ETIMEDOUT; + rte_errno = ETIMEDOUT; return -1; } @@ -604,7 +604,7 @@ mp_request_one(const char *dst, struct rte_mp_msg *req, if (!tmp) { RTE_LOG(ERR, EAL, "Fail to alloc reply for request %s:%s\n", dst, req->name); - rte_errno = -ENOMEM; + rte_errno = ENOMEM; return -1; } memcpy(&tmp[reply->nb_received], &msg, sizeof(msg)); @@ -676,7 +676,7 @@ rte_mp_reply(struct rte_mp_msg *msg, const char *peer) if (peer == NULL) { RTE_LOG(ERR, EAL, "peer is not specified\n"); - rte_errno = -EINVAL; + rte_errno = EINVAL; return -1; } -- 2.7.4