bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unlink failure on abort


From: Orgad Shaneh
Subject: Re: Unlink failure on abort
Date: Sun, 18 Jun 2017 08:02:21 +0300

On Sun, Jun 18, 2017 at 5:31 AM, Eli Zaretskii <address@hidden> wrote:
> From: Orgad Shaneh <address@hidden>
> Date: Sat, 17 Jun 2017 23:04:11 +0300
> Cc: address@hidden, Alexey Pavlov <address@hidden>
>
> +#ifdef WINDOWS32
> +      for (e = 0; e < 10; ++e)
> +        {
> +#endif
> +          status = unlink (file->name);
> +#ifdef WINDOWS32
> +          if (status == 0 || errno == ENOENT)
> +            break;
> +          Sleep(50);
> +        }
> +#endif

Please try the same, but with Sleep calls using 10 or even 5 msec (and
enlarging the loop count if necessary).  I'd be interested to see the
statistics of the count after which the unlink call succeeds in your
cases.

Thanks.

On my machine it also doesn't reproduce every time, but I can reproduce it.

I used Sleep(5), and had count of 2 (I had the same with Sleep(50)).

I think the problem is that reap_children() is called after delete_child_targets, so the child jobs can still run while make is trying to delete.

Maybe delete_targets should become part of reap_children (it cannot be called after reap, because at this point you don't have the target info anymore).

What do you say?

- Orgad

reply via email to

[Prev in Thread] Current Thread [Next in Thread]