瀏覽代碼

No need to check for EINTR.

master
Richard Nyberg 20 年之前
父節點
當前提交
36ea68a4b2
共有 1 個檔案被更改,包括 3 行新增5 行删除
  1. +3
    -5
      btpd/net.c

+ 3
- 5
btpd/net.c 查看文件

@@ -222,9 +222,7 @@ net_write(struct peer *p, unsigned long wmax)
again: again:
nwritten = writev(p->sd, iov, niov); nwritten = writev(p->sd, iov, niov);
if (nwritten < 0) { if (nwritten < 0) {
if (errno == EINTR) if (errno == EAGAIN) {
goto again;
else if (errno == EAGAIN) {
event_add(&p->out_ev, NULL); event_add(&p->out_ev, NULL);
return 0; return 0;
} else { } else {
@@ -435,7 +433,7 @@ net_read(struct peer *p, char *buf, size_t len)
{ {
ssize_t nread = read(p->sd, buf, len); ssize_t nread = read(p->sd, buf, len);
if (nread < 0) { if (nread < 0) {
if (errno == EINTR || errno == EAGAIN) { if (errno == EAGAIN) {
event_add(&p->in_ev, NULL); event_add(&p->in_ev, NULL);
return 0; return 0;
} else { } else {
@@ -968,7 +966,7 @@ net_connection_cb(int sd, short type, void *arg)


nsd = accept(sd, NULL, NULL); nsd = accept(sd, NULL, NULL);
if (nsd < 0) { if (nsd < 0) {
if (errno == EWOULDBLOCK || errno == ECONNABORTED || errno == EINTR) if (errno == EWOULDBLOCK || errno == ECONNABORTED)
return; return;
else else
btpd_err("accept4: %s\n", strerror(errno)); btpd_err("accept4: %s\n", strerror(errno));


||||||
x
 
000:0
Loading…
取消
儲存