Subject: Re: bug#41242: Port feature/native-comp to Windows

From: Nicolas Bértolo <[email-masked]>
Date: Thu, 14 May 2020 17:16:05 -0300

> Yes, but I think we could say: the last Emacs closing that used any file
> that was (at a certain point in life) foo.eln removes all the old
> foo.eln.*

I think this would work :).
We could even remove the pid file. Just do the equivalent of `rm $ELN.old*`
after FreeLibrary(). If the deletion fails then that means that another Emacs
has loaded that file. It would take of files left over from crashes too.

We would need to change `package-delete` though. It would no longer fully
delete the directory. Maybe other functions in `package.el` would need
to be updated to deal with these changes.

Nicolas.

El jue., 14 may. 2020 a las 16:58, Andrea Corallo (<[email-masked]>) escribió:
>
> Nicolas Bértolo <[email-masked]> writes:
>
> >> As you said the problem is to decide who has the duty to remove the file
> >> at last.  If each Emacs deposes a file says .foo.eln-pidxxx for the
> >> whole time is using foo.eln should be easy for the last Emacs to
> >> understand it is really the last and has to do the clean-up in the case
> >> foo.eln was renamed in foo.eln*whatever
> >
> > That file would be create when opening foo.eln, but when
> > Emacs is closing we don't know what file it refers to:
> > - foo.eln
> > - foo.eln.old
> > - foo.eln.old2
> > - foo.eln.oldN
> >
> > These last files could be created if foo.eln.old exists at the time of renaming.
>
> Yes, but I think we could say: the last Emacs closing that used any file
> that was (at a certain point in life) foo.eln removes all the old
> foo.eln.*
>
> If is the last using any of the foo.eln* it can do that safely no?
>
> --
> [email-masked]