From: Razvan Deaconescu Date: Sat, 21 May 2011 08:54:14 +0000 (+0300) Subject: raw: Add internal socket management support to sw_socket. X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=b2c6b02db0f35541f4725b8601c215da6f5e86aa;p=swifty.git raw: Add internal socket management support to sw_socket. --- diff --git a/src/raw/swift_raw.c b/src/raw/swift_raw.c index 441181a..4ed5ba7 100644 --- a/src/raw/swift_raw.c +++ b/src/raw/swift_raw.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "swift_types.h" #include "swift_raw.h" @@ -117,10 +118,22 @@ static struct sock_list *list_unlink_socket(int s) int sw_socket (int __domain, int __type, int __protocol) { int s; + struct sock_list *list; s = socket(__domain, SOCK_RAW, IPPROTO_SWIFT); + if (s < 0) + goto sock_err; + + list = list_add_socket(s); + if (list == NULL) + goto list_add_err; return s; + +list_add_err: + close(s); +sock_err: + return -1; } /*