|
@@ -351,6 +351,10 @@ static int tcp_listen (PAL_HANDLE * handle, char * uri, int options)
|
|
|
#endif
|
|
|
|
|
|
struct sockopt sock_options;
|
|
|
+
|
|
|
+ memset(&sock_options, 0, sizeof(sock_options));
|
|
|
+ sock_options.reuseaddr = 1; /* sockets are always set as reusable in Graphene */
|
|
|
+
|
|
|
ret = ocall_sock_listen(bind_addr->sa_family,
|
|
|
sock_type(SOCK_STREAM, options), 0,
|
|
|
bind_addr, &bind_addrlen,
|
|
@@ -386,6 +390,10 @@ static int tcp_accept (PAL_HANDLE handle, PAL_HANDLE * client)
|
|
|
int ret = 0;
|
|
|
|
|
|
struct sockopt sock_options;
|
|
|
+
|
|
|
+ memset(&sock_options, 0, sizeof(sock_options));
|
|
|
+ sock_options.reuseaddr = 1; /* sockets are always set as reusable in Graphene */
|
|
|
+
|
|
|
ret = ocall_sock_accept(handle->sock.fd, &dest_addr, &dest_addrlen,
|
|
|
&sock_options);
|
|
|
if (IS_ERR(ret))
|
|
@@ -433,6 +441,10 @@ static int tcp_connect (PAL_HANDLE * handle, char * uri, int options)
|
|
|
|
|
|
|
|
|
struct sockopt sock_options;
|
|
|
+
|
|
|
+ memset(&sock_options, 0, sizeof(sock_options));
|
|
|
+ sock_options.reuseaddr = 1; /* sockets are always set as reusable in Graphene */
|
|
|
+
|
|
|
ret = ocall_sock_connect(dest_addr->sa_family,
|
|
|
sock_type(SOCK_STREAM, options), 0,
|
|
|
dest_addr, dest_addrlen,
|
|
@@ -562,6 +574,10 @@ static int udp_bind (PAL_HANDLE * handle, char * uri, int options)
|
|
|
#endif
|
|
|
|
|
|
struct sockopt sock_options;
|
|
|
+
|
|
|
+ memset(&sock_options, 0, sizeof(sock_options));
|
|
|
+ sock_options.reuseaddr = 1; /* sockets are always set as reusable in Graphene */
|
|
|
+
|
|
|
ret = ocall_sock_listen(bind_addr->sa_family,
|
|
|
sock_type(SOCK_DGRAM, options), 0,
|
|
|
bind_addr, &bind_addrlen, &sock_options);
|
|
@@ -600,6 +616,10 @@ static int udp_connect (PAL_HANDLE * handle, char * uri, int options)
|
|
|
#endif
|
|
|
|
|
|
struct sockopt sock_options;
|
|
|
+
|
|
|
+ memset(&sock_options, 0, sizeof(sock_options));
|
|
|
+ sock_options.reuseaddr = 1; /* sockets are always set as reusable in Graphene */
|
|
|
+
|
|
|
ret = ocall_sock_connect(dest_addr ? dest_addr->sa_family : AF_INET,
|
|
|
sock_type(SOCK_DGRAM, options), 0,
|
|
|
dest_addr, dest_addrlen,
|