[PATCH] cygwin: timer_delete: Fix return value
Christian Franke
Christian.Franke@t-online.de
Wed Oct 23 10:43:34 GMT 2024
Corinna Vinschen wrote:
> Hi Christian,
>
> On Oct 12 18:58, Christian Franke wrote:
>> Nobody checks the return value of functions which only free resources:
>> close(), ..., timer_delete(), ... :-)
> Sigh. Apparently I broke it in 2019, see commit 229ea3f23c015.
>
>> From 2d0c5b53bba2ded8d85ed725774498cffbb4f1de Mon Sep 17 00:00:00 2001
>> From: Christian Franke<christian.franke@t-online.de>
>> Date: Sat, 12 Oct 2024 18:47:00 +0200
>> Subject: [PATCH] cygwin: timer_delete: Fix return value
>>
>> timer_delete() always returned failure. This issue has been
>> detected by 'stress-ng --hrtimers 1'.
>>
> Please add
>
> Fixes: 229ea3f23c015 ("Cygwin: posix timers: reimplement using OS timer")
>
>> Signed-off-by: Christian Franke<christian.franke@t-online.de>
>> ---
>> winsup/cygwin/posix_timer.cc | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/winsup/cygwin/posix_timer.cc b/winsup/cygwin/posix_timer.cc
>> index 9d832f201..a336b2bc2 100644
>> --- a/winsup/cygwin/posix_timer.cc
>> +++ b/winsup/cygwin/posix_timer.cc
>> @@ -530,6 +530,7 @@ timer_delete (timer_t timerid)
>> __leave;
>> }
>> delete in_tt;
>> + ret = 0;
>> }
>> __except (EFAULT) {}
>> __endtry
>> --
>> 2.45.1
>>
> Also add an entry for the release/3.5.5 file, please.
Attached.
-------------- next part --------------
From e43df3fb8ebd1413e7452ff5284cac0ddb02cb9b Mon Sep 17 00:00:00 2001
From: Christian Franke <christian.franke@t-online.de>
Date: Wed, 23 Oct 2024 12:24:06 +0200
Subject: [PATCH] Cygwin: timer_delete: Fix return value
timer_delete() always returned failure. This issue has been
detected by 'stress-ng --hrtimers 1'.
Fixes: 229ea3f23c015 ("Cygwin: posix timers: reimplement using OS timer")
Signed-off-by: Christian Franke <christian.franke@t-online.de>
---
winsup/cygwin/posix_timer.cc | 1 +
winsup/cygwin/release/3.5.5 | 2 ++
2 files changed, 3 insertions(+)
diff --git a/winsup/cygwin/posix_timer.cc b/winsup/cygwin/posix_timer.cc
index 9d832f201..a336b2bc2 100644
--- a/winsup/cygwin/posix_timer.cc
+++ b/winsup/cygwin/posix_timer.cc
@@ -530,6 +530,7 @@ timer_delete (timer_t timerid)
__leave;
}
delete in_tt;
+ ret = 0;
}
__except (EFAULT) {}
__endtry
diff --git a/winsup/cygwin/release/3.5.5 b/winsup/cygwin/release/3.5.5
index d01f31c60..bcc2c661b 100644
--- a/winsup/cygwin/release/3.5.5
+++ b/winsup/cygwin/release/3.5.5
@@ -10,3 +10,5 @@ Fixes:
- Fix pread() and pwrite() EBADF error after fork().
Addresses: https://sourceware.org/pipermail/cygwin/2024-September/256468.html
+
+- Fix timer_delete() return value which always indicated failure.
--
2.45.1
More information about the Cygwin-patches
mailing list