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

Attachment: pgpk6L7XcS245.pgp
Description: PGP signature

Reply via email to