Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
April 30, 2016 Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
I think at the moment "ldc2 -run program.d" cannot be run multiple times in parallel (I hit this issue while writing some lit-based tests). LDC will generate the same temporary files for each parallel run and will delete them, resulting in strange problems when different processes are deleting/accessing the files in an unfortunate sequence. My question to you: does it make sense to work on a PR to generate "random" obj+exe filenames for "-run" ? cheers, Johan |
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Saturday, 30 April 2016 at 09:09:07 UTC, Johan Engelen wrote:
> I think at the moment "ldc2 -run program.d" cannot be run multiple times in parallel (I hit this issue while writing some lit-based tests). LDC will generate the same temporary files for each parallel run and will delete them, resulting in strange problems when different processes are deleting/accessing the files in an unfortunate sequence.
>
> My question to you:
> does it make sense to work on a PR to generate "random" obj+exe filenames for "-run" ?
>
> cheers,
> Johan
Yes, that's the way it should be, makes no sense not to randomize that way for single runs.
|
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Saturday, 30 April 2016 at 16:42:01 UTC, Joakim wrote:
> On Saturday, 30 April 2016 at 09:09:07 UTC, Johan Engelen wrote:
>> I think at the moment "ldc2 -run program.d" cannot be run multiple times in parallel (I hit this issue while writing some lit-based tests). LDC will generate the same temporary files for each parallel run and will delete them, resulting in strange problems when different processes are deleting/accessing the files in an unfortunate sequence.
>>
>> My question to you:
>> does it make sense to work on a PR to generate "random" obj+exe filenames for "-run" ?
>>
>> cheers,
>> Johan
>
> Yes, that's the way it should be, makes no sense not to randomize that way for single runs.
Already working on the PR!
But... linker errors will show the temporary filenames. I was thinking about creating a random temporary folder but then the problem is that I have to add logic to delete that folder after execution... Is it OK if linker errors will show funny filenames? (aren't linker errors supposed to be incomprehensible? ;-))
|
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Saturday, 30 April 2016 at 16:59:30 UTC, Johan Engelen wrote:
> On Saturday, 30 April 2016 at 16:42:01 UTC, Joakim wrote:
>> On Saturday, 30 April 2016 at 09:09:07 UTC, Johan Engelen wrote:
>>> [...]
>>
>> Yes, that's the way it should be, makes no sense not to randomize that way for single runs.
>
> Already working on the PR!
>
> But... linker errors will show the temporary filenames. I was thinking about creating a random temporary folder but then the problem is that I have to add logic to delete that folder after execution... Is it OK if linker errors will show funny filenames? (aren't linker errors supposed to be incomprehensible? ;-))
If you prefix runTemp before the random string, it'll help.
|
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On 30 Apr 2016, at 18:43, Joakim via digitalmars-d-ldc wrote:
> On Saturday, 30 April 2016 at 16:59:30 UTC, Johan Engelen wrote:
>> But... linker errors will show the temporary filenames. I was thinking about creating a random temporary folder but then the problem is that I have to add logic to delete that folder after execution... Is it OK if linker errors will show funny filenames? (aren't linker errors supposed to be incomprehensible? ;-))
>
> If you prefix runTemp before the random string, it'll help.
You could also go for a random directory name inside the system temp path, where people pretty much expect "funny names".
— David
|
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Saturday, 30 April 2016 at 16:59:30 UTC, Johan Engelen wrote:
> Is it OK if linker errors will show funny filenames?
What I meant is that, with my current implementation, you will no longer be able to see which source file has an unresolved symbol (say), because the object name will be "tmp_09AB4512.o". It's more a case of lazyness of the implementer, I think...
|
April 30, 2016 Re: Temporary files for `-run` | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Saturday, 30 April 2016 at 18:43:47 UTC, Johan Engelen wrote: > > It's more a case of lazyness of the implementer Fixed that. https://github.com/ldc-developers/ldc/pull/1470 |
Copyright © 1999-2021 by the D Language Foundation