mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
RDS: cancel connection work structs as we shut down
Nothing was canceling the send and receive work that might have been queued as a conn was being destroyed. Signed-off-by: Zach Brown <zach.brown@oracle.com>
This commit is contained in:
parent
ffcec0e110
commit
4518071ac1
@ -336,6 +336,10 @@ void rds_conn_destroy(struct rds_connection *conn)
|
|||||||
rds_conn_drop(conn);
|
rds_conn_drop(conn);
|
||||||
flush_work(&conn->c_down_w);
|
flush_work(&conn->c_down_w);
|
||||||
|
|
||||||
|
/* make sure lingering queued work won't try to ref the conn */
|
||||||
|
cancel_delayed_work_sync(&conn->c_send_w);
|
||||||
|
cancel_delayed_work_sync(&conn->c_recv_w);
|
||||||
|
|
||||||
/* tear down queued messages */
|
/* tear down queued messages */
|
||||||
list_for_each_entry_safe(rm, rtmp,
|
list_for_each_entry_safe(rm, rtmp,
|
||||||
&conn->c_send_queue,
|
&conn->c_send_queue,
|
||||||
|
Loading…
Reference in New Issue
Block a user