- 论坛徽章:
- 0
|
最近 socket 读数据老是遇到 Interrupted system call (EINTR),代码改为如下解决while (1){ select(socket+1, &readfds, NULL, NULL, &tv); if (FD_ISSET(socket, &readfds)) printf("connection got!\n"); else{ if (errno == EINTR) continue; else printf("Timed out.\n"); }}下面的列表显示常见的 Linux 系统错误代码。 1 EPERMOperation not permitted操作不许可 2 ENOENTNo such file or directory无此文件或目录 3 ESRCHNo such process无此过程 4 EINTR Interrupted system call系统调用被禁止 5 EIO I/O errorI/O 错误 6 ENXIO No such device or address无此器件或地址 7 E2BIG Arg list too longArg 列表太长 8 ENOEXEC Exec format errorExec 格式错误 9 EBADF Bad file number文件数目错误10 ECHILDNo child processes无子过程11 EAGAINTry again再试一遍12 ENOMEMOut of memory 内存溢出13 EACCESPermission denied 许可拒绝14 EFAULTBad address 错误的地址15 ENOTBLKBlock device required 需要块设备16 EBUSYDevice or resource busy 设备或资源忙17 EEXISTFile exists 文件存在18 EXDEVCross-device link 跨器链接19 ENODEVNo such device 无此设备20 ENOTDIRNot a directory 不是一个目录21 EISDIRIs a directory 是一个目录22 EINVALInvalid argument 无效的函数自变量23 ENFILEFile table overflow 文件表溢出24 EMFILEToo many open files打开的文件太多25 ENOTTYInappropriate ioctl for device 26 ETXTBSYText file busy 文本文件忙27 EFBIGFile too large文件太大28 ENOSPCNo space left on device 磁盘空间不足29 ESPIPE Illegal seek 不合法的寻找30 EROFS Read-only file system 只读文件系统31 EMLINK Too many links太多的链接
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14369/showart_239682.html |
|