Brocken pipe error? how to ?

我遇到得错误如下:我想请教,这个错误得原因可能是什么?
我对这种问题得处理好像无从下手,?怎样检查类似得程序错误呢?谢谢.!!

Program received signal SIGPIPE, Broken pipe.
0xb032a85a in TimerTimeout_r () from /x86/lib/libc.so.2
(gdb) where
#0 0xb032a85a in TimerTimeout_r () from /x86/lib/libc.so.2
#1 0xb032ae34 in timer_timeout_r () from /x86/lib/libc.so.2
#2 0xb031ad36 in clock_nanosleep () from /x86/lib/libc.so.2
#3 0xb0349324 in usleep () from /x86/lib/libc.so.2
#4 0x080b2eea in processIecAppLayer () at …/iecapp.cc:70
(gdb) up
#1 0xb032ae34 in timer_timeout_r () from /x86/lib/libc.so.2
(gdb) up
#2 0xb031ad36 in clock_nanosleep () from /x86/lib/libc.so.2
(gdb) up
#3 0xb0349324 in usleep () from /x86/lib/libc.so.2
(gdb) up
#4 0x080b2eea in processIecAppLayer () at …/iecapp.cc:70
70 usleep(100);
(gdb) up
Initial frame selected; you cannot go up.
(gdb)[/u][/quote][/url]

Broken pipe错误,我在编写Socket通信程序时曾经遇到过。如果对方已经关闭了连接,你还在进行读写socket,就可能出现这个问题。

那請問您是如何解決broken pipe的問題

在你的程序开头,关掉SIGPIPE.

signal(SIGPIPE, SIG_IGN);