On Wed, 2020-11-04 at 18:41 -0600, Benjamin Marzinski wrote:
> On Wed, Nov 04, 2020 at 11:56:07PM +0000, Martin Wilck wrote:
> >
> > I guess the key is that the thread's entry point must also be in
> > libmultipath (i.e. outside the DSO). In pseudo-code:
> >
> > entrypoint() {
> > refcount++;
> > pthread_cleanup_push(refcount--);
> > tur_thread(ct);
> > pthread_cleanup_pop(1);
> > }
> >
> > This way the thread can't be in DSO code any more when refcount
> > goes to
> > zero.
>
> Oh! I didn't think of solving it that way, but it makes sense. So,
> were
> you planning on posting a patch?
I just did ("libmultipath: prevent DSO unloading with astray checker
threads"). Please have a look and possibly test it using the setup
that failed for you before.
Regards
Martin
--
Dr. Martin Wilck <[email protected]>, Tel. +49 (0)911 74053 2107
SUSE Software Solutions Germany GmbH
HRB 36809, AG Nürnberg GF: Felix
Imendörffer
--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel