Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

13
  • 71
    I pulled the power cord on my laptop and it is not working, sadly. ;-) Commented Feb 19, 2014 at 15:24
  • 2
    Isn't it EINTR instead of EAGAIN? Also read() returns -1 and errno is set to the error. Commented Mar 25, 2015 at 9:36
  • 2
    @Dexter: You are indeed missing the point. Read the LWN article: lwn.net/Articles/288056. Those problems are caused by lazy device driver programmers, and they need to be fixed in the device driver code. Commented Nov 25, 2015 at 16:08
  • 4
    @ddaa "Unix tradition (and thus almost all applications) believe file store writes to be non signal interruptible. It would not be safe or practical to change that guarantee." -> This is exactly the most wrong part of all this IMO. Just interrupt the read/write request of the driver, and when the actual device (hard disk / network card / etc) delivers the data, ignore it. An OS kernel should be made in a way that NO developer can screw it up. Commented Jan 25, 2017 at 10:24
  • 2
    @ddaa I do know Linux is not a microkernel, though I am not sure what part of my comment relates to it... And then, does your comment mean that a microkernel OS does not have a problem with those "uninterruptible" processes? Because if it does not, maybe it's time for me to become a microkernel fan... :D Commented Mar 19, 2017 at 8:22