envelop.c icon indicating copy to clipboard operation
envelop.c copied to clipboard

EWOULDBLOCK is set by read()

Open intc opened this issue 5 years ago • 1 comments

Hi!

Thought to give a short comment because of the heart warming "It ain't much, but it's honest work" approach. =)

While reading envelop.c (only the event loop part to be exact), noticed that you are checking EWOULDBLOCK in a weird place.

Using event loop in it self does not require non blocking socket. You can check a nicely written epoll (very minimalistic, blocking) variant in here: https://github.com/WhaleGirl/epoll-Server-client.

In practice how ever.. one runs out of the read buffer sooner or later?

For a non-blocking scenario I'd recommend to check this: https://eklitzke.org/blocking-io-nonblocking-io-and-epoll. This should give you the correct direction.

Keep up with your good (and honest ;) work!

intc avatar Apr 27 '19 11:04 intc

@intc Thanks a lot for sharing these links. I really appreciate and yes using EWOULDBLOCK here doesn't makes any sense. I'll just go through these references and change the code.

Cheers :smile:

flouthoc avatar Apr 27 '19 17:04 flouthoc