{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/libc/issues/199","repository_url":"https://api.github.com/repos/rust-lang/libc","labels_url":"https://api.github.com/repos/rust-lang/libc/issues/199/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/libc/issues/199/comments","events_url":"https://api.github.com/repos/rust-lang/libc/issues/199/events","html_url":"https://github.com/rust-lang/libc/pull/199","id":136918786,"number":199,"title":"added sigevent and mq_notify","user":{"login":"MarkusJais","id":3727431,"avatar_url":"https://avatars.githubusercontent.com/u/3727431?v=3","gravatar_id":"","url":"https://api.github.com/users/MarkusJais","html_url":"https://github.com/MarkusJais","followers_url":"https://api.github.com/users/MarkusJais/followers","following_url":"https://api.github.com/users/MarkusJais/following{/other_user}","gists_url":"https://api.github.com/users/MarkusJais/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkusJais/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkusJais/subscriptions","organizations_url":"https://api.github.com/users/MarkusJais/orgs","repos_url":"https://api.github.com/users/MarkusJais/repos","events_url":"https://api.github.com/users/MarkusJais/events{/privacy}","received_events_url":"https://api.github.com/users/MarkusJais/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-02-27T13:27:52Z","updated_at":"2016-03-08T15:13:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/libc/pulls/199","html_url":"https://github.com/rust-lang/libc/pull/199","diff_url":"https://github.com/rust-lang/libc/pull/199.diff","patch_url":"https://github.com/rust-lang/libc/pull/199.patch"},"body":"I've added support (Linux) for sigevent in order to add mq_notify. I've contributed mq* support for nix-rust and will update it there to use libc. mq_notifiy was missing and more complex because it requires sigevent.\r\n\r\nTests in ci directory (on Ubuntu) did pass but this is my first contribution to libc and should receive careful review.\r\n\r\nHappy to help!"},"comment":{"url":"https://api.github.com/repos/rust-lang/libc/issues/comments/193818757","html_url":"https://github.com/rust-lang/libc/pull/199#issuecomment-193818757","issue_url":"https://api.github.com/repos/rust-lang/libc/issues/199","id":193818757,"user":{"login":"kamalmarhubi","id":50936,"avatar_url":"https://avatars.githubusercontent.com/u/50936?v=3","gravatar_id":"","url":"https://api.github.com/users/kamalmarhubi","html_url":"https://github.com/kamalmarhubi","followers_url":"https://api.github.com/users/kamalmarhubi/followers","following_url":"https://api.github.com/users/kamalmarhubi/following{/other_user}","gists_url":"https://api.github.com/users/kamalmarhubi/gists{/gist_id}","starred_url":"https://api.github.com/users/kamalmarhubi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamalmarhubi/subscriptions","organizations_url":"https://api.github.com/users/kamalmarhubi/orgs","repos_url":"https://api.github.com/users/kamalmarhubi/repos","events_url":"https://api.github.com/users/kamalmarhubi/events{/privacy}","received_events_url":"https://api.github.com/users/kamalmarhubi/received_events","type":"User","site_admin":false},"created_at":"2016-03-08T15:13:28Z","updated_at":"2016-03-08T15:13:28Z","body":"There's [an RFC for adding unions](https://github.com/rust-lang/rfcs/pull/1444), which looks like it's going places. Until then, I think it's ad hoc code downstream from libc has to be careful to do things right. There's [an RFC for bitfields too](https://github.com/rust-lang/rfcs/pull/1449), but it has a bit less activity so far.\r\n\r\nTo help with getting downstream code right, I came across the idea of [having a small C fragment](https://users.rust-lang.org/t/c-structs-with-bit-fields-and-ffi/1429/5) to ensure correct endianness / ABI handling. I think I'll be trying that out this week."}}