From patchwork Mon Jul 13 17:10:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 40071 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 21DD2388E80B; Mon, 13 Jul 2020 17:10:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 21DD2388E80B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1594660241; bh=vsb6l0ayIUatJZ2hnpcz1vyePaeBJqral3PnBzNOaTQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ScnsBvGtDTAfF18bpw0iwIb7DUwx3YJarwRpXZ8yxNHGenMYYRns8pS/rvnFM+G1n TVVh3bEPdZlixoARmQwcu3/zgAY6PUQoP33E/DvVcGFspjfdwrj6LHbI2pIdHKPzHe 0YbYnZUpN1GriXHU6Oi7iZ6IhNos+9uWnnqFmJU0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by sourceware.org (Postfix) with ESMTPS id 8E1B8388CC07 for ; Mon, 13 Jul 2020 17:10:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8E1B8388CC07 Received: by mail-qk1-x744.google.com with SMTP id c30so12911018qka.10 for ; Mon, 13 Jul 2020 10:10:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vsb6l0ayIUatJZ2hnpcz1vyePaeBJqral3PnBzNOaTQ=; b=HWgmFAQuPWwO0t3cV9K32PKlFUClU2EXUIctLUQfC65l0zkVjHtImQXtm9Dun/sOrg E3XBp/F+HBCRYuqu4p91n5sldjbq7k4fMJeHM+u5ArJaFA0MsYSR5vsTwTV60x/80S0K phr75/F9ZshIQ6WQAk/hu5deXNY1SHMqCVAFcV2Zu/KaO6ewRQZceCPkSaON6RAECcy2 dsAMNRD9mSscyYjQocKVt6tvnkVAkWrVk4qK3wX3Aj0ITE7+skv22E6oxeUQg+0CbGTo +umQ+CO4FQLKuds/nu105mbfgXUv6a4NdAsMsPiU+1IJTpqSHXS9GLgXQoJXYvh47Awf L/fA== X-Gm-Message-State: AOAM53045pzlejSONbEMszdW6npQzsj6IhkRgKYX59QzOxppOPuTSdO8 UjbhjTe+4acyJmFYnTCQ7KqFoC558g4= X-Google-Smtp-Source: ABdhPJyWJVewKL3Alvhi7GFau3vRtG+bIbiCVaXSAqDnzCQB9b5uBsSDq8ZVeaOapnMuROR/JIXtEw== X-Received: by 2002:a37:a616:: with SMTP id p22mr638060qke.292.1594660237817; Mon, 13 Jul 2020 10:10:37 -0700 (PDT) Received: from localhost.localdomain ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id v10sm19767919qtk.14.2020.07.13.10.10.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2020 10:10:37 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 06/23] linux: Simplify mq_timedsend Date: Mon, 13 Jul 2020 14:10:08 -0300 Message-Id: <20200713171025.3661832-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200713171025.3661832-1-adhemerval.zanella@linaro.org> References: <20200713171025.3661832-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Reply-To: Adhemerval Zanella Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" With arch-syscall.h it can now assumes the existance of either __NR_mq_timedsend or __NR_mq_timedsend_time64. The 32-bit time_t support is now only build for !__ASSUME_TIME64_SYSCALLS. The internal 64-bit time_t names is also adjusted to use the other y2038 symbol names. Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15 kernel). Reviewed-by: Lukasz Majewski --- include/mqueue.h | 10 +++++----- sysdeps/unix/sysv/linux/mq_timedsend.c | 26 +++++++++++++------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/mqueue.h b/include/mqueue.h index b3ee8b7462..e0e30dc890 100644 --- a/include/mqueue.h +++ b/include/mqueue.h @@ -12,13 +12,13 @@ hidden_proto (mq_setattr) # endif #include #if __TIMESIZE == 64 -# define __mq_timedsend_time64 __mq_timedsend +# define __mq_timedsend64 __mq_timedsend # define __mq_timedreceive64 __mq_timedreceive #else -extern int __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, - size_t msg_len, unsigned int msg_prio, - const struct __timespec64 *abs_timeout); -librt_hidden_proto (__mq_timedsend_time64) +extern int __mq_timedsend64 (mqd_t mqdes, const char *msg_ptr, + size_t msg_len, unsigned int msg_prio, + const struct __timespec64 *abs_timeout); +librt_hidden_proto (__mq_timedsend64) extern ssize_t __mq_timedreceive64 (mqd_t mqdes, char *__restrict msg_ptr, size_t msg_len, diff --git a/sysdeps/unix/sysv/linux/mq_timedsend.c b/sysdeps/unix/sysv/linux/mq_timedsend.c index f2a43df300..6011db7112 100644 --- a/sysdeps/unix/sysv/linux/mq_timedsend.c +++ b/sysdeps/unix/sysv/linux/mq_timedsend.c @@ -22,19 +22,17 @@ /* Add message pointed by MSG_PTR to message queue MQDES, stop blocking on full message queue if ABS_TIMEOUT expires. */ int -__mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len, - unsigned int msg_prio, - const struct __timespec64 *abs_timeout) +__mq_timedsend64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len, + unsigned int msg_prio, + const struct __timespec64 *abs_timeout) { -#ifdef __ASSUME_TIME64_SYSCALLS # ifndef __NR_mq_timedsend_time64 # define __NR_mq_timedsend_time64 __NR_mq_timedsend # endif - return SYSCALL_CANCEL (mq_timedsend_time64, mqdes, msg_ptr, msg_len, - msg_prio, abs_timeout); -#else int ret = SYSCALL_CANCEL (mq_timedsend_time64, mqdes, msg_ptr, msg_len, - msg_prio, abs_timeout); + msg_prio, abs_timeout); + +#ifndef __ASSUME_TIME64_SYSCALLS if (ret == 0 || errno != ENOSYS) return ret; @@ -50,13 +48,15 @@ __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len, ts32 = valid_timespec64_to_timespec (*abs_timeout); } - return SYSCALL_CANCEL (mq_timedsend, mqdes, msg_ptr, msg_len, msg_prio, - abs_timeout != NULL ? &ts32 : NULL); + ret = SYSCALL_CANCEL (mq_timedsend, mqdes, msg_ptr, msg_len, msg_prio, + abs_timeout != NULL ? &ts32 : NULL); #endif + + return ret; } #if __TIMESIZE != 64 -librt_hidden_def (__mq_timedsend_time64) +librt_hidden_def (__mq_timedsend64) int __mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len, @@ -66,8 +66,8 @@ __mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len, if (abs_timeout != NULL) ts64 = valid_timespec_to_timespec64 (*abs_timeout); - return __mq_timedsend_time64 (mqdes, msg_ptr, msg_len, msg_prio, - abs_timeout != NULL ? &ts64 : NULL); + return __mq_timedsend64 (mqdes, msg_ptr, msg_len, msg_prio, + abs_timeout != NULL ? &ts64 : NULL); } #endif