More details on having to make select interruptible by signal
[hurd-web.git] / open_issues / select_vs_signals.mdwn
index bbd69d0..cdf3960 100644 (file)
@@ -20,6 +20,17 @@ IRC, freenode, #hurd, 2011-04-02
     <youpi> the sudo bug is select() not being able to get interrupted by
       signals
 
+IRC, freenode, #hurd, 2012-01-05
+
+    <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)
+
 ---
 
 See also [[select]] and [[select_bogus_fd]].