{"action":"created","issue":{"url":"https://api.github.com/repos/zeromq/czmq/issues/886","labels_url":"https://api.github.com/repos/zeromq/czmq/issues/886/labels{/name}","comments_url":"https://api.github.com/repos/zeromq/czmq/issues/886/comments","events_url":"https://api.github.com/repos/zeromq/czmq/issues/886/events","html_url":"https://github.com/zeromq/czmq/pull/886","id":53850698,"number":886,"title":"Problem: zmsg, zframe destroying object even if send failed","user":{"login":"hintjens","id":307976,"avatar_url":"https://avatars.githubusercontent.com/u/307976?v=3","gravatar_id":"","url":"https://api.github.com/users/hintjens","html_url":"https://github.com/hintjens","followers_url":"https://api.github.com/users/hintjens/followers","following_url":"https://api.github.com/users/hintjens/following{/other_user}","gists_url":"https://api.github.com/users/hintjens/gists{/gist_id}","starred_url":"https://api.github.com/users/hintjens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hintjens/subscriptions","organizations_url":"https://api.github.com/users/hintjens/orgs","repos_url":"https://api.github.com/users/hintjens/repos","events_url":"https://api.github.com/users/hintjens/events{/privacy}","received_events_url":"https://api.github.com/users/hintjens/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-01-09T09:53:11Z","updated_at":"2015-01-09T10:36:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zeromq/czmq/pulls/886","html_url":"https://github.com/zeromq/czmq/pull/886","diff_url":"https://github.com/zeromq/czmq/pull/886.diff","patch_url":"https://github.com/zeromq/czmq/pull/886.patch"},"body":"Solution: if the lower-level send fails (EGAIN, EINTR, etc.) then\r\ndo not destroy the frame or message. This lets the calling app try\r\nto send it again later."},"comment":{"url":"https://api.github.com/repos/zeromq/czmq/issues/comments/69318263","html_url":"https://github.com/zeromq/czmq/pull/886#issuecomment-69318263","issue_url":"https://api.github.com/repos/zeromq/czmq/issues/886","id":69318263,"user":{"login":"xaqq","id":915351,"avatar_url":"https://avatars.githubusercontent.com/u/915351?v=3","gravatar_id":"","url":"https://api.github.com/users/xaqq","html_url":"https://github.com/xaqq","followers_url":"https://api.github.com/users/xaqq/followers","following_url":"https://api.github.com/users/xaqq/following{/other_user}","gists_url":"https://api.github.com/users/xaqq/gists{/gist_id}","starred_url":"https://api.github.com/users/xaqq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xaqq/subscriptions","organizations_url":"https://api.github.com/users/xaqq/orgs","repos_url":"https://api.github.com/users/xaqq/repos","events_url":"https://api.github.com/users/xaqq/events{/privacy}","received_events_url":"https://api.github.com/users/xaqq/received_events","type":"User","site_admin":false},"created_at":"2015-01-09T10:36:14Z","updated_at":"2015-01-09T10:36:14Z","body":"Hello,\r\n\r\nIf sending the first frame failed because of EGAIN or EINTR it makes sense to return an error.\r\nHowever, I *think* that libzmq will not block for later frames once the first one was sent.\r\n\r\nzmqpp retries to send the frames unless it was the first one.\r\nI believe it would make sense to do something similar.\r\n\r\nThoughts ? "}}