From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: master 691015fedb: Fix filelock.c for Haiku Date: Sun, 09 Jan 2022 19:10:27 +0200 Message-ID: <83pmp0al8c.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25415"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 09 18:14:29 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n6bm1-0006Su-46 for ged-emacs-devel@m.gmane-mx.org; Sun, 09 Jan 2022 18:14:29 +0100 Original-Received: from localhost ([::1]:36902 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n6bly-00083H-PQ for ged-emacs-devel@m.gmane-mx.org; Sun, 09 Jan 2022 12:14:26 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:32784) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6biJ-0002so-Ah for emacs-devel@gnu.org; Sun, 09 Jan 2022 12:10:39 -0500 Original-Received: from [2001:470:142:3::e] (port=56564 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6biI-00065p-T5; Sun, 09 Jan 2022 12:10:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Subject:To:From:Date:mime-version:in-reply-to: references; bh=7n/jXuz6kAabo6xOc/+6xOarFNVyJcOHJqYaJCcoXwA=; b=N3R+1XkyXv/dVH GHRb4148amXdKg9Kg/1uhN8/7ZQsNcjtFre8oD28u0Pj4qE7NGqAK18qiPUci0QrMK6Nfzl6E+Xfl Phx805CoWk3Cr7R6lR3546UWw/hvxCRELrdqmMjwQxlcBOTxq0VilP0cAUdMp6Zo16fJ2L0C3zBDu y/b2NHEItw7CAvppPkbwklyNvAeWMn5givQ2VNsZgXsICLikfObYiJtWXptbmqIA+xYQWwdGCDTkj n5Tv1qkDIwD33dxtHR2LuDviHyZGFXj7vo0TMjOJY8qrtVXgrJfhqC/cJHC9tn04Dfbfq3LPho+BO HSY/615HNGdpftsjolIg==; Original-Received: from [87.69.77.57] (port=4679 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6biI-0001P0-Ti; Sun, 09 Jan 2022 12:10:39 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:284504 Archived-At: > diff --git a/src/filelock.c b/src/filelock.c > index a213c2b3ca..8453f17cd4 100644 > --- a/src/filelock.c > +++ b/src/filelock.c > @@ -608,7 +608,7 @@ lock_if_free (lock_info_type *clasher, char *lfname) > err = current_lock_owner (clasher, lfname); > if (err != 0) > { > - if (err < 0) > + if (err == -1 || err == -2) > return -2 - err; /* We locked it, or someone else has it. */ > break; /* current_lock_owner returned strange error. */ > } > @@ -616,7 +616,14 @@ lock_if_free (lock_info_type *clasher, char *lfname) > /* We deleted a stale lock; try again to lock the file. */ > } > > +#if !defined HAIKU \ > + || defined BE_USE_POSITIVE_POSIX_ERRORS > return err; > +#else > + /* On Haiku, POSIX error values are negative by default, but this > + code's callers assume that any errno value is positive. */ > + return -err; > +#endif > } Is it guaranteed that no errno value on Haiku cam ever be -1 or -2? Do we perhaps want to add an assertion to that effect? Btw, what kind of errno values does Haiku use? what do you see in the errno.h header there? are all the values negative?