commit | a80ca1ae81fc52e304e753f6de4ef248df364f9e | [log] [tgz] |
---|---|---|
author | Lars Ellenberg <lars.ellenberg@linbit.com> | Fri Dec 27 17:17:25 2013 +0100 |
committer | Philipp Reisner <philipp.reisner@linbit.com> | Thu Jul 10 18:34:50 2014 +0200 |
tree | 3e45ac841a66fe27df95d6253cc88be781dd3bd8 | |
parent | c7a58db4e9dc523b18bbfbc3aa311d8308acc293 [diff] |
drbd: fix a race stopping the worker thread We may implicitly call drbd_send() from inside wait_for_work(), via maybe_send_barrier(). If the "stop" signal was send just before that, drbd_send() would call flush_signals(), and we would run an unbounded schedule() afterwards. Fix: check for thread_state == RUNNING before we schedule() Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>