This is the mail archive of the cygwin-patches 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: [PATCH RFC] fork: reduce chances for "address space is already occupied" errors


On 4/8/19 7:09 PM, Achim Gratz wrote:
> Michael Haubenwallner writes:
>> Well... once installed, a dll may get in use quickly, because I can not require
>> to shut down all Cygwin processes.  So I need to rebase and register the dll in
>> some staging directory before it is installed into it's final directory, hence
>>  I'm about to add some new '--destdir' option.
> 
> I don't quite understand yet what you're trying to do and why, but
> "--destdir" doesn't have the right ring to it for my ears.  If I'm not
> mistaken you want to strip the staging prefix from the database entry,
> which incidentally would be where a
> 
> make DESTDIR=/staging install
> 
> would have placed the files?

Exactly, the _rebase_ needs to be done while the files are in /staging,
but the database records need to not have the /staging part of course.
However, updating the _database_ can be done either while the files are
in /staging still, or when they are at their final location later on.
I just need to avoid performing a rebase to files in their final location.

For the moment, I'm doing the database update together with performing the
rebase in /staging, so I need to tell rebase.exe about "/staging" to strip
from the database record.  This boils down to:
$ find /staging -type f -name '*.dll' > files.list
$ rebase --database --filelist=files.list --destdir=/staging

But I'm facing some fork problems now, where I need to investigate whether
they're related to my rebase step, before I can submit the patches.

If curious, see https://github.com/haubi/cygwin-rebase/commits/gentoo

Thanks!
/haubi/
PS: I've tried to submit the first two patches yesterday, but somehow the
mails didn't make it to the list.


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