首页 > 技术文章 > EINTR与ERESTARTSYS

byeyear 2013-09-11 14:11 原文

驱动中如果down_interruptible之类的函数被信号中断,驱动可以返回-EINTR或-ERESTARTSYS。

区别在于:

若返回-EINTR,应用程序执行的系统调用会返回表示错误的值,且errno=EINTR;

若返回-ERESTARTSYS,系统会自动重新启动应用程序执行的系统调用,即应用程序的系统调用不会返回。

推荐阅读