]> git.openfabrics.org - ~ardavis/dapl.git/commit
scm, cma: dapli_thread doesn't always get teminated on library close.
authorArlin Davis <arlin.r.davis@intel.com>
Thu, 17 Sep 2009 15:53:29 +0000 (08:53 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Thu, 17 Sep 2009 15:53:29 +0000 (08:53 -0700)
commite287ce12f5b0108ef83186aae305f25af8cdd02c
tree0eec7bc89dec1d1ec73ea055f2dd69251cf19570
parent5bffe521c6ad7a5ce10457a5d7b25814522a0cde
scm, cma: dapli_thread doesn't always get teminated on library close.

DAPL doesn't actually wait for the async processing thread to exit before
allowing the library to close.  It will wait up to 10 seconds, which under
heavy load isn't enough time.  Since the thread is created by an application
level thread, it will continue to run as long as the application runs.  But
if the application closes the library, then all library data and code is
invalid, which can result in the thread running something that's not
library code and accessing freed memory.

With this change, I was able to run mpi ping-pong, 16 ranks on a single
system (scm provider) without crashes 1300 times.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
dapl/openib_cma/device.c
dapl/openib_scm/device.c