zeromq / zmqpp

0mq 'highlevel' C++ bindings
http://zeromq.github.io/zmqpp
Mozilla Public License 2.0
438 stars 197 forks source link

Fix a low probability bug in ::send() #134

Closed daveab closed 9 years ago

daveab commented 9 years ago

A ::send() marked unblocking, where the zmq[_send,_sendmsg,_ms_send] of the first (or only) part returned EINTR was expected to return FALSE (== would-block) to the caller, but instead would have sent the entire message. The comments indicate that this could lead to the send blocking.

This would not be visible in our code, apart from a failure to update statistics about blocked sends. These statistics are used to infer which parts of the processing pipeline is slow, and are not critical.

The bug was found by code inspection and no testcase has been written.

xaqq commented 9 years ago

Edit: forget what I said.