diff options
author | J. Bruce Fields <[email protected]> | 2013-02-10 16:08:11 -0500 |
---|---|---|
committer | J. Bruce Fields <[email protected]> | 2013-02-17 10:53:51 -0500 |
commit | cc630d9f476445927fca599f81182c7f06f79058 (patch) | |
tree | 3b7f67264ba2868ed4921a86af9b5d266e6019ed /include/linux/fpga/fpga-mgr.h | |
parent | e75bafbff2270993926abcc31358361db74a9bc2 (diff) |
svcrpc: fix rpc server shutdown races
Rewrite server shutdown to remove the assumption that there are no
longer any threads running (no longer true, for example, when shutting
down the service in one network namespace while it's still running in
others).
Do that by doing what we'd do in normal circumstances: just CLOSE each
socket, then enqueue it.
Since there may not be threads to handle the resulting queued xprts,
also run a simplified version of the svc_recv() loop run by a server to
clean up any closed xprts afterwards.
Cc: [email protected]
Tested-by: Jason Tibbitts <[email protected]>
Tested-by: Paweł Sikora <[email protected]>
Acked-by: Stanislav Kinsbursky <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions