]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msg: QueueStrategy::wait() joins all threads 16194/head
authorCasey Bodley <cbodley@redhat.com>
Thu, 6 Jul 2017 21:11:49 +0000 (17:11 -0400)
committerCasey Bodley <cbodley@redhat.com>
Thu, 6 Jul 2017 21:11:52 +0000 (17:11 -0400)
commit6be0550eb516261a44460a0d376e23c517235a21
tree7e2b122f517edeb4ef297f1b7d22e6c03aacbe6b
parent57126987870b954c4092daae6d1e9c4eb7de57be
msg: QueueStrategy::wait() joins all threads

wait() was only looping over disp_threads, which is an intrusive list
that only contains threads that are waiting on a message from
ds_dispatch(). this means that some QSThreads could outlive the
QueueStrategy itself, causing a segfault in QueueStrategy::entry()

Fixes: http://tracker.ceph.com/issues/20534
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/msg/QueueStrategy.cc
src/msg/QueueStrategy.h