[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.
0001-Improve-port-to-Haiku-errno-values.patch
Description: Text Data
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Eli Zaretskii, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Eli Zaretskii, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file, Eli Zaretskii, 2022/01/09
- bug#53136: 28.0.90; segfault in lock_file,
Paul Eggert <=
- bug#53136: 28.0.90; segfault in lock_file, Paul Eggert, 2022/01/10
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/10
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/10
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/10
- bug#53136: 28.0.90; segfault in lock_file, Paul Eggert, 2022/01/11
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/11
- bug#53136: 28.0.90; segfault in lock_file, Paul Eggert, 2022/01/12
- bug#53136: 28.0.90; segfault in lock_file, Eli Zaretskii, 2022/01/11
- bug#53136: 28.0.90; segfault in lock_file, Po Lu, 2022/01/11
- bug#53136: 28.0.90; segfault in lock_file, Paul Eggert, 2022/01/11