{"action":"created","issue":{"url":"https://api.github.com/repos/shadow/shadow/issues/183","labels_url":"https://api.github.com/repos/shadow/shadow/issues/183/labels{/name}","comments_url":"https://api.github.com/repos/shadow/shadow/issues/183/comments","events_url":"https://api.github.com/repos/shadow/shadow/issues/183/events","html_url":"https://github.com/shadow/shadow/issues/183","id":21490393,"number":183,"title":"libevent timeout events dont work properly","user":{"login":"robgjansen","id":788144,"avatar_url":"https://avatars.githubusercontent.com/u/788144?v=3","gravatar_id":"","url":"https://api.github.com/users/robgjansen","html_url":"https://github.com/robgjansen","followers_url":"https://api.github.com/users/robgjansen/followers","following_url":"https://api.github.com/users/robgjansen/following{/other_user}","gists_url":"https://api.github.com/users/robgjansen/gists{/gist_id}","starred_url":"https://api.github.com/users/robgjansen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robgjansen/subscriptions","organizations_url":"https://api.github.com/users/robgjansen/orgs","repos_url":"https://api.github.com/users/robgjansen/repos","events_url":"https://api.github.com/users/robgjansen/events{/privacy}","received_events_url":"https://api.github.com/users/robgjansen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/shadow/shadow/labels/refactor","name":"refactor","color":"eb6420"},{"url":"https://api.github.com/repos/shadow/shadow/labels/shadow-plugin-tor","name":"shadow-plugin-tor","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/shadow/shadow/milestones/12","labels_url":"https://api.github.com/repos/shadow/shadow/milestones/12/labels","id":629569,"number":12,"title":"release-1.11.0","description":"-cleanup and support","creator":{"login":"robgjansen","id":788144,"avatar_url":"https://avatars.githubusercontent.com/u/788144?v=3","gravatar_id":"","url":"https://api.github.com/users/robgjansen","html_url":"https://github.com/robgjansen","followers_url":"https://api.github.com/users/robgjansen/followers","following_url":"https://api.github.com/users/robgjansen/following{/other_user}","gists_url":"https://api.github.com/users/robgjansen/gists{/gist_id}","starred_url":"https://api.github.com/users/robgjansen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robgjansen/subscriptions","organizations_url":"https://api.github.com/users/robgjansen/orgs","repos_url":"https://api.github.com/users/robgjansen/repos","events_url":"https://api.github.com/users/robgjansen/events{/privacy}","received_events_url":"https://api.github.com/users/robgjansen/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":0,"state":"open","created_at":"2014-04-14T17:46:10Z","updated_at":"2015-01-20T23:50:02Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2013-10-23T22:50:21Z","updated_at":"2015-01-21T18:23:28Z","closed_at":null,"body":"When event_add is called with a negative file descriptor, that means a timer event is requested. When libevent is running in Shadow, libevent doesn't have control of the main loop, meaning timer events don't fire when they should.\r\n\r\nWe could handle this in scallion by intercepting event_add and checking for a timer event (negative fd). If its a timer, use shadow's timer callback library interface to handle the event. Otherwise, let libevent handle it. However, this will cause any future interaction with this event by the application will result in inconsistency... more work needed here.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/shadow/shadow/issues/comments/70892077","html_url":"https://github.com/shadow/shadow/issues/183#issuecomment-70892077","issue_url":"https://api.github.com/repos/shadow/shadow/issues/183","id":70892077,"user":{"login":"robgjansen","id":788144,"avatar_url":"https://avatars.githubusercontent.com/u/788144?v=3","gravatar_id":"","url":"https://api.github.com/users/robgjansen","html_url":"https://github.com/robgjansen","followers_url":"https://api.github.com/users/robgjansen/followers","following_url":"https://api.github.com/users/robgjansen/following{/other_user}","gists_url":"https://api.github.com/users/robgjansen/gists{/gist_id}","starred_url":"https://api.github.com/users/robgjansen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robgjansen/subscriptions","organizations_url":"https://api.github.com/users/robgjansen/orgs","repos_url":"https://api.github.com/users/robgjansen/repos","events_url":"https://api.github.com/users/robgjansen/events{/privacy}","received_events_url":"https://api.github.com/users/robgjansen/received_events","type":"User","site_admin":false},"created_at":"2015-01-21T18:23:28Z","updated_at":"2015-01-21T18:23:28Z","body":"See #252 for another method of how to fix this from the Shadow side."}}