很容易忘掉,备忘。
==== case 1 ====
client:
close(fd)
server:
read(fd) = 0 (close normally)
==== case 2 ====
client:
close(fd)
server:
write(fd) = 0
read(fd) = -1 (reset by peer)
==== case 3 ====
client:
close(fd)
server:
write(fd) = 0
write(fd) (SIGPIPE)
==== case 4 ====
client:
close(fd)
server:
signal(SIGPIPE, SIG_IGN)
write(fd) = 0
write(fd) = -1 (EPIPE)
read(fd) = -1 (reset by peer)
评论