On Thu, 12 Feb 2015, David Laight wrote: > From: Dave Mielke > > Okay. Found it. Yes, I was indeed making an assumption. When a signalfd file > > descriptor is closed, it doesn't remove any of the signals that were in its > > queue. The next time a signalfd file descriptor is opened for the same signal, > > therefore, the signal from the closing of the urb on the previous attempt is > > delivered. > > That sounds like a bug of its own. Not to me. The purpose of signalfd is to report pending signals. Closing or opening a file descriptor shouldn't change the set of pending signals. > > Flushing the signalfd file descriptor before closing it resolves the > > problem. > > Might it be better to flush after open() ? Why? Besides, if any signals have been raised since the time the file descriptor was closed, flushing after open would lose those signals. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html