From b2c6b02db0f35541f4725b8601c215da6f5e86aa Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sat, 21 May 2011 11:54:14 +0300 Subject: [PATCH] raw: Add internal socket management support to sw_socket. --- src/raw/swift_raw.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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; } /* -- 2.20.1