{"action":"created","issue":{"url":"https://api.github.com/repos/libuv/libuv/issues/557","labels_url":"https://api.github.com/repos/libuv/libuv/issues/557/labels{/name}","comments_url":"https://api.github.com/repos/libuv/libuv/issues/557/comments","events_url":"https://api.github.com/repos/libuv/libuv/issues/557/events","html_url":"https://github.com/libuv/libuv/pull/557","id":109396319,"number":557,"title":"QUEUE- and Unix-backend-related improvements, bugfixes, and tests","user":{"login":"ahippo","id":1228485,"avatar_url":"https://avatars.githubusercontent.com/u/1228485?v=3","gravatar_id":"","url":"https://api.github.com/users/ahippo","html_url":"https://github.com/ahippo","followers_url":"https://api.github.com/users/ahippo/followers","following_url":"https://api.github.com/users/ahippo/following{/other_user}","gists_url":"https://api.github.com/users/ahippo/gists{/gist_id}","starred_url":"https://api.github.com/users/ahippo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahippo/subscriptions","organizations_url":"https://api.github.com/users/ahippo/orgs","repos_url":"https://api.github.com/users/ahippo/repos","events_url":"https://api.github.com/users/ahippo/events{/privacy}","received_events_url":"https://api.github.com/users/ahippo/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-10-01T22:20:09Z","updated_at":"2015-10-16T20:43:31Z","closed_at":"2015-10-16T20:43:31Z","pull_request":{"url":"https://api.github.com/repos/libuv/libuv/pulls/557","html_url":"https://github.com/libuv/libuv/pull/557","diff_url":"https://github.com/libuv/libuv/pull/557.diff","patch_url":"https://github.com/libuv/libuv/pull/557.patch"},"body":"There are 10 commits in this pull request (as of now).\r\nThey are related but somewhat different in purpose and impact.\r\nSome of them break the ABI (by changing struct layouts and sizes), most do not.\r\nSo it may be worth splitting the pull request into several smaller ones.\r\nBut it would be good to hear some feedback first.\r\n\r\nAll these changes are compile-tested on Linux only, so they can break builds for other OSes (but shouldn't).\r\n\r\nImpact/severity of the changes.\r\n\r\nsha | title | type | ABI impact | misc\r\n--- | ------- | ---- | ---------- | ----\r\n511fed6 | QUEUE: more type-checking, move queue.h to include/ | improvement | no | makes QUEUE public\r\n3f90ba8 | QUEUE: convert macros to inline functions where possible | improvement | no |\r\n7edc205 | QUEUE: introduce QUEUE_FOREACH_SAFE() and QUEUE_REMOVE_SAFE() | improvement | no | needed for subsequent patches\r\n5392692 | QUEUE: poison prev/next pointers in QUEUE_REMOVE() and QUEUE_ADD() | improvement | no | crashes tests and libuv unless the following 2 patches are applied\r\n1d0afd0 | unix: allow calling uv_fs_event_stop() from fs_event callback | bugfix | no |\r\n21fb51b | unix: allow calling uv_close() from uv_{prepare,idle,check,async}_t callback | bugfix | **breaks ABI** |\r\ncaf20f9 | test: test that it's safe to call uv_close() from callbacks | test | no | for future regressions\r\n2a0ec7e | test: test that uv_close() doesn't corrupt internal QUEUE | test | no | for changesets 1d0afd0 and 21fb51b, crashes/fails without these two changesets applied\r\ncb5d8d7 | unix: use QUEUE for closing_handles | improvement | **breaks ABI** | |\r\na42e641 | unix: use QUEUE_FOREACH_SAFE() in process.c | improvement | no | |"},"comment":{"url":"https://api.github.com/repos/libuv/libuv/issues/comments/148829337","html_url":"https://github.com/libuv/libuv/pull/557#issuecomment-148829337","issue_url":"https://api.github.com/repos/libuv/libuv/issues/557","id":148829337,"user":{"login":"ahippo","id":1228485,"avatar_url":"https://avatars.githubusercontent.com/u/1228485?v=3","gravatar_id":"","url":"https://api.github.com/users/ahippo","html_url":"https://github.com/ahippo","followers_url":"https://api.github.com/users/ahippo/followers","following_url":"https://api.github.com/users/ahippo/following{/other_user}","gists_url":"https://api.github.com/users/ahippo/gists{/gist_id}","starred_url":"https://api.github.com/users/ahippo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahippo/subscriptions","organizations_url":"https://api.github.com/users/ahippo/orgs","repos_url":"https://api.github.com/users/ahippo/repos","events_url":"https://api.github.com/users/ahippo/events{/privacy}","received_events_url":"https://api.github.com/users/ahippo/received_events","type":"User","site_admin":false},"created_at":"2015-10-16T20:43:31Z","updated_at":"2015-10-16T20:43:31Z","body":"As this pull request conflicts with changes in v1.x, I've created a follow-up pull request #577 with those conflicts resolved.\r\nSo, I'm closing this pull request as it's now obsolete."}}