This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: setup.exe rebase patch


Rob,

On Fri, Mar 01, 2002 at 02:22:56AM +1100, Robert Collins wrote:
> > -----Original Message-----
> > From: Jason Tishler [mailto:jason@tishler.net] 
> > > 0) Check that it hasn't been rebased already.
> > 
> > What is the purpose of the above?  I already rebase DLLs into 
> > their previous space during reinstalls, if they still fit.
> 
> Efficiency, it seemed obvious to not rebase already rebased .dll's. I
> recall you saying that it was fast, but I don't see it scaling to 100's
> of .dll's - which we are heading towards.

Don't worry, I'm no longer advocating rebasing everything over and
over again.  However, I think that we must re-rebase a DLL during a
re-install for the following reasons:

    o determine whether or not the image size has changed (and act
      appropriately)
    o actually rebase the DLL after copying out of the archive

So, I already check that the DLL has been rebased before, but I will
still rebase this particular DLL (but not all DLLs currently on the
system).  I don't see anyway around this and feel that this is as
efficient as possible.

> > Nevertheless, if you feel strongly, then I will change my perspective.
> 
> It's not about feeling. It's about understanding. I agree that having
> the serialisation in the classes themselves is not great, as things get
> baggy. I hope that you agree that having external classes that require
> access to private data (ie config_file_writer) for serialisation is
> also not great because it breaks encapsulation (friends don't always
> break encapsulation, but in this case, IMO they do). The Memento class
> is designed to provide a solution to both issues.

Thanks for pointing me to the Memento pattern.  I will investigate it
and try to come up with a better solution.

Thanks,
Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]