You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have tried to use the recvAll functionality in the Network.Socket library from the contrib package.
It seems that when it runs recursively into the recv on an empty buffer, it is blocking and not receiving the clean exit (Left 0) signal, thus running infinitely and never returning.
We propose a solution to this issue that instead of waiting for a Left 0 signal, the function runs recursively until then buffer size is smaller than the reading size that it is trying to achieve. The solution looks something like this: https://pastebin.com/vZx6YxNh
We would like to know if you have any problems with the iteration of the code that we have done, or for that matter if you have any idea of improvement.
We have tried to use the recvAll functionality in the Network.Socket library from the contrib package.
It seems that when it runs recursively into the recv on an empty buffer, it is blocking and not receiving the clean exit (Left 0) signal, thus running infinitely and never returning.
We propose a solution to this issue that instead of waiting for a Left 0 signal, the function runs recursively until then buffer size is smaller than the reading size that it is trying to achieve. The solution looks something like this: https://pastebin.com/vZx6YxNh
We would like to know if you have any problems with the iteration of the code that we have done, or for that matter if you have any idea of improvement.
The exact code that this revision relates to is: https://github.com/idris-lang/Idris-dev/blob/master/libs/contrib/Network/Socket.idr
The text was updated successfully, but these errors were encountered: