{"action":"created","issue":{"url":"https://api.github.com/repos/ldc-developers/ldc/issues/1470","repository_url":"https://api.github.com/repos/ldc-developers/ldc","labels_url":"https://api.github.com/repos/ldc-developers/ldc/issues/1470/labels{/name}","comments_url":"https://api.github.com/repos/ldc-developers/ldc/issues/1470/comments","events_url":"https://api.github.com/repos/ldc-developers/ldc/issues/1470/events","html_url":"https://github.com/ldc-developers/ldc/pull/1470","id":152050324,"number":1470,"title":"Use random output filenames for `-run`.","user":{"login":"JohanEngelen","id":10983051,"avatar_url":"https://avatars.githubusercontent.com/u/10983051?v=3","gravatar_id":"","url":"https://api.github.com/users/JohanEngelen","html_url":"https://github.com/JohanEngelen","followers_url":"https://api.github.com/users/JohanEngelen/followers","following_url":"https://api.github.com/users/JohanEngelen/following{/other_user}","gists_url":"https://api.github.com/users/JohanEngelen/gists{/gist_id}","starred_url":"https://api.github.com/users/JohanEngelen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohanEngelen/subscriptions","organizations_url":"https://api.github.com/users/JohanEngelen/orgs","repos_url":"https://api.github.com/users/JohanEngelen/repos","events_url":"https://api.github.com/users/JohanEngelen/events{/privacy}","received_events_url":"https://api.github.com/users/JohanEngelen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-30T20:13:09Z","updated_at":"2016-05-05T16:14:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ldc-developers/ldc/pulls/1470","html_url":"https://github.com/ldc-developers/ldc/pull/1470","diff_url":"https://github.com/ldc-developers/ldc/pull/1470.diff","patch_url":"https://github.com/ldc-developers/ldc/pull/1470.patch"},"body":"The temporary files created may clash with parallel processes (e.g. in a test suite where LDC is called in parallel with perhaps same input).\r\nThese files will be deleted after execution so their name is not relevant. For better linking errors, the new filenames are created by appending random characters to their name.\r\n\r\nNote that there is no check whether the random executable file exists (same as for the normal infered executable filename). We don't want to overwrite the user's files, but I think the chances of a user having a file named \"infered name + '_ldctemp' + random 8 digit hexadecimal number\" are very slim.\r\nFor the object files, there is a (naive) existance check."},"comment":{"url":"https://api.github.com/repos/ldc-developers/ldc/issues/comments/217198578","html_url":"https://github.com/ldc-developers/ldc/pull/1470#issuecomment-217198578","issue_url":"https://api.github.com/repos/ldc-developers/ldc/issues/1470","id":217198578,"user":{"login":"JohanEngelen","id":10983051,"avatar_url":"https://avatars.githubusercontent.com/u/10983051?v=3","gravatar_id":"","url":"https://api.github.com/users/JohanEngelen","html_url":"https://github.com/JohanEngelen","followers_url":"https://api.github.com/users/JohanEngelen/followers","following_url":"https://api.github.com/users/JohanEngelen/following{/other_user}","gists_url":"https://api.github.com/users/JohanEngelen/gists{/gist_id}","starred_url":"https://api.github.com/users/JohanEngelen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohanEngelen/subscriptions","organizations_url":"https://api.github.com/users/JohanEngelen/orgs","repos_url":"https://api.github.com/users/JohanEngelen/repos","events_url":"https://api.github.com/users/JohanEngelen/events{/privacy}","received_events_url":"https://api.github.com/users/JohanEngelen/received_events","type":"User","site_admin":false},"created_at":"2016-05-05T16:14:57Z","updated_at":"2016-05-05T16:14:57Z","body":"> Maybe append the ldc's pid\r\n\r\nYeah I thought about that too. I didn't implement it because of extra platform portability mess... Let me check again if LLVM provides a portable function for PID. "}}