From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id D3A483858C33; Mon, 2 Jan 2023 10:36:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D3A483858C33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1672655801; bh=bmxvBBHUV/nGIU6CccZeDFvogRsBM1TSL7+sBd7x2uM=; h=From:To:Subject:Date:From; b=Ko1CzqAtPfDiPjoLWIA9mJYaLI+WNt0ZU+JnfGA/IPPcDv37OlsS4dZQEkxvRC3mk XkEeGmRd9wDIg5VzK/kwh1CVKSgvPdL0ypuF4kWjOn3R5QUej6Qh/4G3YASb1aty5V ZsQfH1TnYO3Kb38Vl1SBWrIpMqzCEEhSHzRCSg7M= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] hurd fcntl: Make LOCKED macro more robust X-Act-Checkin: glibc X-Git-Author: Samuel Thibault X-Git-Refname: refs/heads/master X-Git-Oldrev: b7a5fec8b04edb505f51c207ae50b6777c2c55b2 X-Git-Newrev: e1a467d330d2dd4ab83adcadeba75961952ec826 Message-Id: <20230102103641.D3A483858C33@sourceware.org> Date: Mon, 2 Jan 2023 10:36:41 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e1a467d330d2dd4ab83adcadeba75961952ec826 commit e1a467d330d2dd4ab83adcadeba75961952ec826 Author: Samuel Thibault Date: Mon Jan 2 01:54:18 2023 +0100 hurd fcntl: Make LOCKED macro more robust Diff: --- sysdeps/mach/hurd/fcntl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index ea35e9b977..48608493a1 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -109,7 +109,7 @@ __libc_fcntl (int fd, int cmd, ...) /* Set RESULT by evaluating EXPR with the descriptor locked. Check for an empty descriptor and return EBADF. */ -#define LOCKED(expr) \ +#define LOCKED(expr) do { \ HURD_CRITICAL_BEGIN; \ __spin_lock (&d->port.lock); \ if (d->port.port == MACH_PORT_NULL) \ @@ -117,7 +117,8 @@ __libc_fcntl (int fd, int cmd, ...) else \ result = (expr); \ __spin_unlock (&d->port.lock); \ - HURD_CRITICAL_END; + HURD_CRITICAL_END; \ +} while(0) case F_GETFD: /* Get descriptor flags. */ LOCKED (d->flags);