bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#53136: 28.0.90; segfault in lock_file


From: Paul Eggert
Subject: bug#53136: 28.0.90; segfault in lock_file
Date: Mon, 10 Jan 2022 15:11:04 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1

On 1/9/22 04:03, Eli Zaretskii wrote:

Paul, could you please take a look?

The problem (as Po deduced) seems to be that Haiku errno values are negative by default.

However, I see some problems with the recently installed fix.

1. It uses BE_USE_POSITIVE_POSIX_ERRORS but Haiku spells it B_USE_POSITIVE_POSIX_ERRORS.

2. There's no need to replace "if (err < 0)" with "if (err == -1 || err == -2)", as this replacement is not needed given the "#if !defined HAIKU ..." stuff.

3. More importantly, I'm sure there are other places where Emacs assumes that errno values are positive. I doubt whether it's reasonable to expect Emacs developers to remember and work around this Haiku incompatibility, every time they call a function that sets errno or returns an errno value. Instead, we should arrange for Haiku builds to use positive errno values, they way errno behaves on GNU and other POSIX-compatible hosts. This should be a much more maintainable solution.

Proposed patch attached.

Attachment: 0001-Improve-port-to-Haiku-errno-values.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]