That is exactly how I decided to fix it. It looks like it is working. Please try r31755 when you get a chance.
-Nathan On Thu, May 15, 2014 at 12:03:53AM +0900, Gilles Gouaillardet wrote: > Nathan, > > > Looks like this is a scif bug. From the documentation: > > and from the source code, scif_poll(...) simply calls poll(...) > > at least in MPSS 2.1 > > > Since that is not the case I will look through the documentation and > see > > if there is a way other than pthread_cancel. > > what about : > > - use a global variable (a boolean called "close_requested") > > - update the scif thread so it checks close_requested after each > scif_poll, > > and exits if true > > - when closing btl/scif : > > * set close_requested to true > > * scif_connect to myself > > * close this connection > > * pthread_join(...) > > that's a bit heavyweight, but it does the job > > ( and we keep an infinite timeout for scif_poll() so overhead at runtime > is null) > > i can test this approach from tomorrow if needed > > Gilles > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/05/14800.php
pgpk6L7XcS245.pgp
Description: PGP signature