-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2013 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
<youpi> the sudo bug is select() not being able to get interrupted by
signals
-IRC, freenode, #hurd, 2012-01-05
+
+# IRC, freenode, #hurd, 2013-01-05
+
+In context of [[alarm_setitimer]].
<youpi> it's a know issue in select
<youpi> it's not interruptible by a SIGALRM for instance
<youpi> which is what ntpdate uses
<youpi> when __io_select is used, it *is* interruptible
<youpi> but when __mach_msg is used, it is *not* interruptible
- <youpi> it happens that by luck, ntpdate uses just one fd, and thus it's __io_select which is used, and thus it gets an interruption after 1s (instead of after 60s, the timeout)
- <youpi> with braunr's patch, it's __mach_msg which is used to wait, and thus the interruption doesn't happen, and we have to wait 60s, the timeout...
- <youpi> so braunr's patch is still correct, it's the __mach_msg call which we do need to make interruptible (it was already on the todolist)
-
-Proposed patch on http://cygwin.com/ml/libc-alpha/2013-01/msg00189.html
+ <youpi> it happens that by luck, ntpdate uses just one fd, and thus it's
+ __io_select which is used, and thus it gets an interruption after 1s
+ (instead of after 60s, the timeout)
+ <youpi> with braunr's patch, it's __mach_msg which is used to wait, and
+ thus the interruption doesn't happen, and we have to wait 60s, the
+ timeout...
+ <youpi> so braunr's patch is still correct, it's the __mach_msg call which
+ we do need to make interruptible (it was already on the todolist)
+
+Proposed patch: [[!message-id
+"20130105162817.GW5965@type.youpi.perso.aquilenet.fr"]].
---