Chinaunix首页 | 论坛 | 博客
  • 博客访问: 626102
  • 博文数量: 144
  • 博客积分: 5037
  • 博客等级: 大校
  • 技术积分: 1581
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-30 21:49
文章存档

2010年(16)

2009年(128)

分类: LINUX

2009-09-08 18:05:09

最近 socket 读数据老是遇到 Interrupted system call (EINTR),代码改为如下解决


while (1)

{
    select(socket+1, &readfds, NULL, NULL, &tv);
    if (FD_ISSET(socket, &readfds))

      {
       printf("connection got!\n");

       break;

      }
    else{
       if (errno == EINTR)
          continue;
       else
          printf("Timed out.\n");
        }
}

下面的列表显示常见的 Linux 系统错误代码。
1 EPERM
Operation not permitted
操作不许可
2 ENOENT
No such file or directory
无此文件或目录
3 ESRCH
No such process
无此过程
4 EINTR
Interrupted system call
系统调用被禁止
5 EIO
I/O error
I/O 错误
6 ENXIO
No such device or address
无此器件或地址
7 E2BIG
Arg list too long
Arg 列表太长
8 ENOEXEC
Exec format error
Exec 格式错误
9 EBADF
Bad file number
文件数目错误
10 ECHILD
No child processes
无子过程
11 EAGAIN
Try again
再试一遍
12 ENOMEM
Out of memory
内存溢出
13 EACCES
Permission denied
许可拒绝
14 EFAULT
Bad address
错误的地址
15 ENOTBLK
Block device required
需要块设备
16 EBUSY
Device or resource busy
设备或资源忙
17 EEXIST
File exists
文件存在
18 EXDEV
Cross-device link
跨器链接
19 ENODEV
No such device
无此设备
20 ENOTDIR
Not a directory
不是一个目录
21 EISDIR
Is a directory
是一个目录
22 EINVAL
Invalid argument
无效的函数自变量
23 ENFILE
File table overflow
文件表溢出
24 EMFILE
Too many open files
打开的文件太多
25 ENOTTY
Inappropriate ioctl for device

26 ETXTBSY
Text file busy
文本文件忙
27 EFBIG
File too large
文件太大
28 ENOSPC
No space left on device
磁盘空间不足
29 ESPIPE
Illegal seek
不合法的寻找
30 EROFS
Read-only file system
只读文件系统
31 EMLINK
Too many links
太多的链接
转载http://blog.chinaunix.net/u/14369/showart_239682.html

阅读(4416) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~