[PATCH RFC] fork: reduce chances for "address space is already occupied" errors
Michael Haubenwallner
michael.haubenwallner@ssi-schaefer.com
Thu Mar 28 14:59:00 GMT 2019
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)?
Thanks!
/haubi/
More information about the Cygwin-patches
mailing list