Dustmite + Visual D
Michelle Long
HappyDance321 at gmail.com
Tue Nov 6 03:09:18 UTC 2018
On Monday, 5 November 2018 at 07:24:36 UTC, Rainer Schuetze wrote:
>
>
> On 05/11/2018 00:08, Michelle Long wrote:
>> It would take Rainer just a few minutes max to determine this
>> by simply created a project or opening a pre-existing one and
>> adding a junction the dragging it to the project and adding a
>> d file in it then trying the dustmite command.
>
> I just tried that and it worked fine for my tiny example.
> Copying the project is just a series of
>
> std.file.mkdirRecurse(dirName(destname));
> std.file.copy(srcname, destname);
>
> on the files in the project.
>
> Do you get the message in the Visual D output pane or the
> console window?
It is a visual D output problem.
I tried several things and had strange results.
I created a new project in D and ran dustmite:
created clean copy of the project in
c:\users\main\documents\visual studio
2017\Projects\WindowsApp4\WindowsApp4.dustmite
Failed to make stdin stream inheritable by child process (Access
is denied.)
I tried removing the junction and it still seems to fail on
grammar.d.
I ran a chkdsk and no errors.
I used lockhunter and no locks on the file.
I tried copying the project over manually and no files where
copied from the junction.
I tried copying the junction directory and everything was copied
but pegged.
the dustmite directory shows that it is copying(some files)
So this might not be a Visual D issue but something in the OS
itself.
The error I get is
D:\.......\Libraries\pegged\dynamic\grammar.d: The process cannot
access the file because it is being used by another process.
In visual D's error pane.
Actually, the error is:
D:\Projects\Game\Game\Game.dustmite\..\..\..\..\D\Libraries\pegged\dynamic\grammar.d: The process cannot access the file because it is being used by another process.
When I click on the error it opened the file in the editor and it
was correct.
I really have no idea what is going on.. maybe the junction is
"bad"(it works in xyplorer but maybe something got corrupted?).
The fact that copying the project dir manually using xyplorer or
windows file explorer both fail to copy the junction suggest it
is not a Visual D problem.
When I copy the files over from the library directly(bypassing
the junction issue) the same problem occurs.
So, it would suggest a problem with the grammar.d file, yet I can
read it just fine.
Maybe it is just a problem with that file in relation to Visual D?
Maybe if you could allow the process to continue if we ignore
"Remove dustmite dir" then I could just copy the files
manually(which works).
It probably won't fix the stdin issue but it would get around the
copying issue.
Other than that, I'm at a loss.
I moved some stuff around trying to see if it was anything with
the project and all it it was change the copy error:
D:\Projects\Game\Game\Game.dustmite\..\..\..\Libraries\arsd\png.d: The process cannot access the file because it is being used by another process.
It did change the path but probably because I pointed the folder
in visual studio to the junction(I think I was actually using the
library path before).
In any case it seems maybe something is causing the file to be
temporarily locked inside visual study when dustmite command is
issued.
Could this be with the Visual D copying method?
If you are copying each file using recursion maybe it is
accessing the file to copy before it is released in "looking" up?
You could try an alternative copy such as fastcopy(which can
handle junctions well)?
If I click on the file it says can't open(such as png.d) then it
opens it in the editor, so the path is correct and the file is
not locked then.
Maybe retry the copy with a sleep a few times if it fails at
first?
More information about the Digitalmars-d-ide
mailing list