I'm using MQX 4.0.2.2.
TCP_Process_ack() unblocks RTCS_selectset() regardless of sockset.
Undesired Scket handle is returned.
It was no such a thing until in MQX 4.0.1.
Already corrected in MQX 4.1.0 ?
Solved! Go to Solution.
You're right, there is such problem. In sosel.c, function _SOCK_select_signal:
/* check if sock is on the select waiting list (array) */
// if (!flag)
{
for (i = 0; i < parms->sock_count; i++)
{
if (parms->sock_ptr[i] == sock)
{
break;
}
}
if(i >= parms->sock_count)
{
continue;
}
}
I think just comment out line 2 in the above code snippet should help. (remove the !flag condition).
There will be a new BSD-like select() function in next MQX release. MQX 4.1.0 still has this problem.
You're right, there is such problem. In sosel.c, function _SOCK_select_signal:
/* check if sock is on the select waiting list (array) */
// if (!flag)
{
for (i = 0; i < parms->sock_count; i++)
{
if (parms->sock_ptr[i] == sock)
{
break;
}
}
if(i >= parms->sock_count)
{
continue;
}
}
I think just comment out line 2 in the above code snippet should help. (remove the !flag condition).
There will be a new BSD-like select() function in next MQX release. MQX 4.1.0 still has this problem.