{"action":"created","issue":{"url":"https://api.github.com/repos/Marqt/ViZDoom/issues/73","repository_url":"https://api.github.com/repos/Marqt/ViZDoom","labels_url":"https://api.github.com/repos/Marqt/ViZDoom/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/Marqt/ViZDoom/issues/73/comments","events_url":"https://api.github.com/repos/Marqt/ViZDoom/issues/73/events","html_url":"https://github.com/Marqt/ViZDoom/issues/73","id":157622099,"number":73,"title":"Double Ctrl-C crashes Python interpreter","user":{"login":"jietang","id":114302,"avatar_url":"https://avatars.githubusercontent.com/u/114302?v=3","gravatar_id":"","url":"https://api.github.com/users/jietang","html_url":"https://github.com/jietang","followers_url":"https://api.github.com/users/jietang/followers","following_url":"https://api.github.com/users/jietang/following{/other_user}","gists_url":"https://api.github.com/users/jietang/gists{/gist_id}","starred_url":"https://api.github.com/users/jietang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jietang/subscriptions","organizations_url":"https://api.github.com/users/jietang/orgs","repos_url":"https://api.github.com/users/jietang/repos","events_url":"https://api.github.com/users/jietang/events{/privacy}","received_events_url":"https://api.github.com/users/jietang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-31T08:59:30Z","updated_at":"2016-06-01T22:41:30Z","closed_at":null,"body":"Repro steps:\r\n\r\nOpen a python shell, set up a DoomGame\r\n\r\nfrom vizdoom import DoomGame, Loader\r\nloader = Loader()\r\ngame = DoomGame()\r\ngame.load_config('assets/basic.cfg')\r\ngame.set_vizdoom_path(...)\r\ngame.set_doom_game_path(...)\r\ngame.set_doom_scenario_path('.../scenarios/basic.wad')\r\ngame.set_doom_map('map01')\r\ngame.init()\r\n\r\nPress Ctrl-C twice; this causes the shell to exit. It looks like vizdoom traps the signal and handles it in a way that is hidden from Python-land.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/Marqt/ViZDoom/issues/comments/223146634","html_url":"https://github.com/Marqt/ViZDoom/issues/73#issuecomment-223146634","issue_url":"https://api.github.com/repos/Marqt/ViZDoom/issues/73","id":223146634,"user":{"login":"Marqt","id":8513199,"avatar_url":"https://avatars.githubusercontent.com/u/8513199?v=3","gravatar_id":"","url":"https://api.github.com/users/Marqt","html_url":"https://github.com/Marqt","followers_url":"https://api.github.com/users/Marqt/followers","following_url":"https://api.github.com/users/Marqt/following{/other_user}","gists_url":"https://api.github.com/users/Marqt/gists{/gist_id}","starred_url":"https://api.github.com/users/Marqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Marqt/subscriptions","organizations_url":"https://api.github.com/users/Marqt/orgs","repos_url":"https://api.github.com/users/Marqt/repos","events_url":"https://api.github.com/users/Marqt/events{/privacy}","received_events_url":"https://api.github.com/users/Marqt/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T22:41:30Z","updated_at":"2016-06-01T22:41:30Z","body":"Handler for SIGINT, SIGABRT and SIGTERM is registered in `game.init()` in c++ code, also after acknowledging of the interrupt, the environment is closed on the next communication phase between process using api and engine process - when `game.advance_action` or `game.make_action` is called.\r\n\r\nSo at the moment this is totally not designed for use with interactive shell.\r\n\r\nI will change it to be more friendly, however I have no idea how to expose this interruption handling to python - any tips?"}}
{"actor":{"display_login":"Marqt"}}