[Socket] Wieso SO_NOSIGPIPE undeclared???
-
Hallo c-community,
ich möchte das "Broken pipe" Signal in meinem Client/Server deaktivieren. Ich versuche dies folgender Maßen (mehrfach so im Internet gefunden):
#include <sys/socket.h> #include <netinet/tcp> #include <netinet/in.h> int flag = 1; setsockopt(Socket, SOL_SOCKET, SO_NOSIGPIPE, (void*)&flag, sizeof(int));
Als Fehler bekomme ich:
'SO_NOSIGPIPE' undeclared (first use in this function)
Habe ich hier eine Library vergessen? In den Beispielen ist nur die sys/types.h zusätzlich aufgeführt aber diese ändert nichts an der Fehlermeldung.
Vielen Dank
mirrowwinger
-
Das soll schon Code für BSD sein? Oder hast du das einfach irgendwo abgeschrieben ohne zu merken, dass es diese Option nur in BSD gibt?
-
Ah das hab ich wirklich nicht beachtet.
Habs jetzt über die signal.h gelöst.
signal(SIGPIPE, SIG_IGN);
(Quelle: http://stackoverflow.com/questions/108183/how-to-prevent-sigpipes-or-handle-them-properly)