|
|
@@ -310,16 +310,16 @@ static int wait_for_connection(SOCKET_IO_INSTANCE* socket_io_instance)
|
|
|
|
|
|
fd_set fdset;
|
|
|
struct timeval tv;
|
|
|
-
|
|
|
+
|
|
|
FD_ZERO(&fdset);
|
|
|
FD_SET(socket_io_instance->socket, &fdset);
|
|
|
tv.tv_sec = CONNECT_TIMEOUT;
|
|
|
tv.tv_usec = 0;
|
|
|
-
|
|
|
+
|
|
|
do
|
|
|
{
|
|
|
retval = select(socket_io_instance->socket + 1, NULL, &fdset, NULL, &tv);
|
|
|
-
|
|
|
+
|
|
|
if (retval < 0)
|
|
|
{
|
|
|
select_errno = errno;
|
|
|
@@ -367,7 +367,7 @@ static void destroy_network_interface_descriptions(NETWORK_INTERFACE_DESCRIPTION
|
|
|
{
|
|
|
destroy_network_interface_descriptions(nid->next);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (nid->name != NULL)
|
|
|
{
|
|
|
free(nid->name);
|
|
|
@@ -377,7 +377,7 @@ static void destroy_network_interface_descriptions(NETWORK_INTERFACE_DESCRIPTION
|
|
|
{
|
|
|
free(nid->mac_address);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (nid->ip_address != NULL)
|
|
|
{
|
|
|
free(nid->ip_address);
|
|
|
@@ -390,7 +390,7 @@ static void destroy_network_interface_descriptions(NETWORK_INTERFACE_DESCRIPTION
|
|
|
static NETWORK_INTERFACE_DESCRIPTION* create_network_interface_description(struct ifreq *ifr, NETWORK_INTERFACE_DESCRIPTION* previous_nid)
|
|
|
{
|
|
|
NETWORK_INTERFACE_DESCRIPTION* result;
|
|
|
-
|
|
|
+
|
|
|
if ((result = (NETWORK_INTERFACE_DESCRIPTION*)malloc(sizeof(NETWORK_INTERFACE_DESCRIPTION))) == NULL)
|
|
|
{
|
|
|
LogError("Failed allocating NETWORK_INTERFACE_DESCRIPTION");
|
|
|
@@ -452,7 +452,7 @@ static NETWORK_INTERFACE_DESCRIPTION* create_network_interface_description(struc
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -472,14 +472,14 @@ static int get_network_interface_descriptions(int socket, NETWORK_INTERFACE_DESC
|
|
|
LogError("ioctl failed querying socket (SIOCGIFCONF, errno=%s)", errno);
|
|
|
result = __FAILURE__;
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
{
|
|
|
NETWORK_INTERFACE_DESCRIPTION* root_nid = NULL;
|
|
|
NETWORK_INTERFACE_DESCRIPTION* new_nid = NULL;
|
|
|
|
|
|
struct ifreq* it = ifc.ifc_req;
|
|
|
const struct ifreq* const end = it + (ifc.ifc_len / sizeof(struct ifreq));
|
|
|
-
|
|
|
+
|
|
|
result = 0;
|
|
|
|
|
|
for (; it != end; ++it)
|
|
|
@@ -708,18 +708,7 @@ int socketio_open(CONCRETE_IO_HANDLE socket_io, ON_IO_OPEN_COMPLETE on_io_open_c
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //socket_io_instance->socket = socket (socket_io_instance->address_type == ADDRESS_TYPE_IP ? AF_INET : AF_UNIX, SOCK_STREAM, 0);
|
|
|
- socket_io_instance->socket = socket ( AF_INET, SOCK_STREAM , 0);
|
|
|
-
|
|
|
- //rt_kprintf("line:%d file:%s. the socket_io_instance->socket is %d.==========================>\n",__LINE__,__FILE__,socket_io_instance->socket);
|
|
|
-
|
|
|
- if (socket_io_instance->socket > SOCKET_SUCCESS)
|
|
|
- {
|
|
|
- struct timeval timeout = {1, 0};
|
|
|
- int result_setopt = setsockopt(socket_io_instance->socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(struct timeval));
|
|
|
- //rt_kprintf("line:%d file:%s. the result_setopt is %d.==========================>\n",__LINE__,__FILE__,result_setopt);
|
|
|
- }
|
|
|
-
|
|
|
+ socket_io_instance->socket = socket (socket_io_instance->address_type == ADDRESS_TYPE_IP ? AF_INET : AF_INET, SOCK_STREAM, 0);
|
|
|
if (socket_io_instance->socket < SOCKET_SUCCESS)
|
|
|
{
|
|
|
LogError("Failure: socket create failure %d.", socket_io_instance->socket);
|
|
|
@@ -977,19 +966,12 @@ void socketio_dowork(CONCRETE_IO_HANDLE socket_io)
|
|
|
// Do not log error here due to this is probably the socket being closed on the other end
|
|
|
indicate_error(socket_io_instance);
|
|
|
}
|
|
|
-#if defined(__GNUC__)
|
|
|
else if (received < 0 && errno != EAGAIN)
|
|
|
{
|
|
|
LogError("Socketio_Failure: Receiving data from endpoint: errno=%d.", errno);
|
|
|
indicate_error(socket_io_instance);
|
|
|
}
|
|
|
-#else
|
|
|
- else if (received < 0 && rt_get_errno() != EAGAIN)
|
|
|
- {
|
|
|
- LogError("Socketio_Failure: Receiving data from endpoint: errno=%d.", rt_get_errno());
|
|
|
- indicate_error(socket_io_instance);
|
|
|
- }
|
|
|
-#endif
|
|
|
+
|
|
|
} while (received > 0 && socket_io_instance->io_state == IO_STATE_OPEN);
|
|
|
}
|
|
|
}
|