We need to return all MADs to IBAL before calling close_al. To protect
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 6 May 2009 06:06:21 +0000 (06:06 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 6 May 2009 06:06:21 +0000 (06:06 +0000)
commit5fcd4e94bc1cfbcea5481959c31090b3d90fd67b
tree4366e16cabf0e271e811a215917afd8ee422fdfd
parent953eb8b3dc8b3cdd745b5dfd7a4b40dd0c8a2686
We need to return all MADs to IBAL before calling close_al.  To protect
against queuing MADs during deregistration, set the MAD service handle
to NULL when deregistering and check that it is still valid before queuing
any received MADs.

This fixes a hanging when using ctrl-C to kill a process running ibping.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2152 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
core/winmad/kernel/wm_provider.c
core/winmad/kernel/wm_provider.h
core/winmad/kernel/wm_reg.c