01a9118d0c
The spdk_jsonrpc_server_conn_remove() was just swapping last connection with that is being removed. This was fine but not for BSD queues which rely on its own address. Simple fix would be to add STAILQ_INIT and STAILQ_SWAP for queued requests but we can hit the same nasty and easy to overlook bug in future. Instead convert connection array to linked list and move around only pointers. Fixes #322 Change-Id: Ibb359d281f6164bcd17df37ba9d31ffdb46c2e0a Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-on: https://review.gerrithub.io/414257 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
jsonrpc_internal.h | ||
jsonrpc_server_tcp.c | ||
jsonrpc_server.c | ||
Makefile |