{"action":"closed","issue":{"url":"https://api.github.com/repos/zeromq/netmq/issues/574","repository_url":"https://api.github.com/repos/zeromq/netmq","labels_url":"https://api.github.com/repos/zeromq/netmq/issues/574/labels{/name}","comments_url":"https://api.github.com/repos/zeromq/netmq/issues/574/comments","events_url":"https://api.github.com/repos/zeromq/netmq/issues/574/events","html_url":"https://github.com/zeromq/netmq/issues/574","id":164668231,"number":574,"title":"Current cleanup of the NetMQ library cause some issues","user":{"login":"somdoron","id":2715638,"avatar_url":"https://avatars.githubusercontent.com/u/2715638?v=3","gravatar_id":"","url":"https://api.github.com/users/somdoron","html_url":"https://github.com/somdoron","followers_url":"https://api.github.com/users/somdoron/followers","following_url":"https://api.github.com/users/somdoron/following{/other_user}","gists_url":"https://api.github.com/users/somdoron/gists{/gist_id}","starred_url":"https://api.github.com/users/somdoron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/somdoron/subscriptions","organizations_url":"https://api.github.com/users/somdoron/orgs","repos_url":"https://api.github.com/users/somdoron/repos","events_url":"https://api.github.com/users/somdoron/events{/privacy}","received_events_url":"https://api.github.com/users/somdoron/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-09T13:59:04Z","updated_at":"2016-07-09T21:45:22Z","closed_at":"2016-07-09T21:45:22Z","body":"Right now the library is being cleanup when the ProcessExit event is being raised, this cause an issue with tests.\r\n\r\nAlso the ProcessExit doesn't not exist within DotNet Core, so we cannot use it.\r\n\r\nI have few suggestions on how to fix it:\r\n\r\n* Last socket close the light - Last socket to dispose cleanup the library. If you didn't close all sockets your system will actually not exit. The disadvantage is that if you set a linger to high value the socket that will actually will suffer from that (longer time to dispose) will be the last socket.\r\n* Set the NetMQ IO thread to Background thread - when you exit the process the NetMQ thread will not deny you from closing will just be closed. This is nasty, because we actually don't clean all the resources, more over, this will ignore the Linger properties. However, we can add a cleanup method, if user wants more correct behavior they should call cleanup when the finish with the system usage.\r\n\r\nI actually prefer the second option, it will be easier for new users to use the library, advanced user can always call the cleanup method.\r\n\r\nopinions?\r\n\r\ncc: @drewnoakes \r\n\r\n"}}
{"actor":{"display_login":"somdoron"}}