TCP_Process_ack() unblocks RTCS_selectset() regardless of sockset

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TCP_Process_ack() unblocks RTCS_selectset() regardless of sockset

Jump to solution
1,154 Views
daido
Contributor II

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 ?

0 Kudos
Reply
1 Solution
904 Views
Martin_
NXP Employee
NXP Employee

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.

View solution in original post

0 Kudos
Reply
1 Reply
905 Views
Martin_
NXP Employee
NXP Employee

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.

0 Kudos
Reply