{"action":"created","issue":{"url":"https://api.github.com/repos/diydrones/ardupilot/issues/2924","labels_url":"https://api.github.com/repos/diydrones/ardupilot/issues/2924/labels{/name}","comments_url":"https://api.github.com/repos/diydrones/ardupilot/issues/2924/comments","events_url":"https://api.github.com/repos/diydrones/ardupilot/issues/2924/events","html_url":"https://github.com/diydrones/ardupilot/pull/2924","id":109299721,"number":2924,"title":"AP_HAL_Linux: Terminate pigpiod on startup (potential ressource confl.)","user":{"login":"dgrat","id":4668178,"avatar_url":"https://avatars.githubusercontent.com/u/4668178?v=3","gravatar_id":"","url":"https://api.github.com/users/dgrat","html_url":"https://github.com/dgrat","followers_url":"https://api.github.com/users/dgrat/followers","following_url":"https://api.github.com/users/dgrat/following{/other_user}","gists_url":"https://api.github.com/users/dgrat/gists{/gist_id}","starred_url":"https://api.github.com/users/dgrat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgrat/subscriptions","organizations_url":"https://api.github.com/users/dgrat/orgs","repos_url":"https://api.github.com/users/dgrat/repos","events_url":"https://api.github.com/users/dgrat/events{/privacy}","received_events_url":"https://api.github.com/users/dgrat/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-01T13:32:52Z","updated_at":"2015-10-01T17:45:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/diydrones/ardupilot/pulls/2924","html_url":"https://github.com/diydrones/ardupilot/pull/2924","diff_url":"https://github.com/diydrones/ardupilot/pull/2924.diff","patch_url":"https://github.com/diydrones/ardupilot/pull/2924.patch"},"body":"Noticed that pigpiod may run in parallel with the vehicle firmware and may lead to a ressource conflict.\r\nI extended the RPi util the program now tries to kill pigpiod on startup of RCInput for navio.\r\n\r\nSigned-off-by: dgrat <dgdanielf@gmail.com>"},"comment":{"url":"https://api.github.com/repos/diydrones/ardupilot/issues/comments/144797933","html_url":"https://github.com/diydrones/ardupilot/pull/2924#issuecomment-144797933","issue_url":"https://api.github.com/repos/diydrones/ardupilot/issues/2924","id":144797933,"user":{"login":"lucasdemarchi","id":31864,"avatar_url":"https://avatars.githubusercontent.com/u/31864?v=3","gravatar_id":"","url":"https://api.github.com/users/lucasdemarchi","html_url":"https://github.com/lucasdemarchi","followers_url":"https://api.github.com/users/lucasdemarchi/followers","following_url":"https://api.github.com/users/lucasdemarchi/following{/other_user}","gists_url":"https://api.github.com/users/lucasdemarchi/gists{/gist_id}","starred_url":"https://api.github.com/users/lucasdemarchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucasdemarchi/subscriptions","organizations_url":"https://api.github.com/users/lucasdemarchi/orgs","repos_url":"https://api.github.com/users/lucasdemarchi/repos","events_url":"https://api.github.com/users/lucasdemarchi/events{/privacy}","received_events_url":"https://api.github.com/users/lucasdemarchi/received_events","type":"User","site_admin":false},"created_at":"2015-10-01T17:45:09Z","updated_at":"2015-10-01T17:45:09Z","body":"@dgrat I really dislike it. It's indeed not the role of our software to kill other random processes. What if there's a forked pigpio-ng-d, or another one that may conflict?  What if pigpiod uses the same approach and try to kill ardupilot?\r\n\r\nNot to account for the race condition.... you have a TOCTOU when killing a process this way.\r\n\r\nMake sure your init scripts make them conflict. I don't know what you are using as init, but it's something very easy to do with systemd (hint: what I'm using ;-))... I could go even further and say \"make sure the kernel interfaces you use allow the conflicts to be detected\" but I realize it's impossible in this specific case."}}