[PATCH RFC] fork: reduce chances for "address space is already occupied" errors

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Thu Mar 28 15:19:00 GMT 2019


On 2019-03-28 08:59, Michael Haubenwallner wrote:
> Hi Achim,
> 
> On 3/27/19 8:59 PM, Achim Gratz wrote:
>> Michael Haubenwallner writes:
>>> As far as I understand, rebasing is about touching already installed
>>> dlls as well, which would require to restart all Cygwin processes.
>>> As the problem is about some dll built during a larger build job,
>>> this is not something that feels useful to me.
>>
>> That's exactly why I introduced the "--oblivious" option several years
>> ago.  It'll let you rebase a set of DLL while benefitting from the
>> rebase database, but not recording them there, so if you later install
>> them properly there will be no collision.  I needed this for testing
>> newly compiled Perl XS modules, but you seem to have a similar use case.
> 
> What I can see so far is that right now there is only one single rebase
> database, in /etc/rebase.db.<arch>.
> 
> However, my 'installed' dlls are not put into /bin, but into the so called
> Gentoo "Prefix", e.g. /home/haubi/test-20190327/gentoo-prefix/usr/bin for
> example.  Remember that there can be multiple independent instances of Gentoo
> Prefix, so recording them all into the host /etc/rebase.db is not an option.
> 
> Hence there should be a rebase database per Gentoo Prefix instance, like
> /home/haubi/test-20190327/gentoo-prefix/etc/rebase.db.<arch>, to record
> my 'installed' dlls, while still loading the /etc/rebase.db.<arch> to avoid
> conflicts with cygwin provided dlls.
> 
> And how would one explicitly remove specific entries from the rebase database
> when dlls get uninstalled (by either package remove or package upgrade)?

Using rebase -O, --oblivious with -T, --filelist local-test-rebase-db gives you
your own local test rebase db - just add all your test dlls into it (sort -u to
eliminate dups).

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.



More information about the Cygwin-patches mailing list