diff options
author | Volker Lendecke <vl@samba.org> | 2023-02-20 18:46:50 +0100 |
---|---|---|
committer | Jule Anger <janger@samba.org> | 2023-03-07 11:16:46 +0000 |
commit | bfbb854d7462e486775d087efda63906869218ed (patch) | |
tree | 68f9e67844a48638742376cb7a6ccc4967174835 | |
parent | 743d7600fba554306356a8254f0ca041308fa332 (diff) | |
download | samba-bfbb854d7462e486775d087efda63906869218ed.tar.gz |
rpcd: With npa->need_idle_server we can have more than 256 servers
Before this patch the worker-status cut the worker index such that
samba-dcerpcd could not properly update status of the surplus rpc
daemons. This could lead to those daemons to stay around forever,
samba-dcerpcd will never notice they are idle and can exit.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15310
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Mon Mar 6 22:35:00 UTC 2023 on atb-devel-224
(cherry picked from commit a1780ed8d1b46e4760319b27a4978e7ce7a1df80)
Autobuild-User(v4-17-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-17-test): Tue Mar 7 11:16:46 UTC 2023 on sn-devel-184
-rw-r--r-- | source3/librpc/idl/rpc_host.idl | 2 | ||||
-rw-r--r-- | source3/rpc_server/rpc_worker.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/source3/librpc/idl/rpc_host.idl b/source3/librpc/idl/rpc_host.idl index 0fc3f9514aa..c8abb6c4379 100644 --- a/source3/librpc/idl/rpc_host.idl +++ b/source3/librpc/idl/rpc_host.idl @@ -66,7 +66,7 @@ interface rpc_host_msg /** * @brief Which of the processes of a helper prog is this from */ - uint8 worker_index; + uint32 worker_index; /** * @brief How many clients this process serves right now diff --git a/source3/rpc_server/rpc_worker.c b/source3/rpc_server/rpc_worker.c index 2d2bb35af0f..9b7474c2c86 100644 --- a/source3/rpc_server/rpc_worker.c +++ b/source3/rpc_server/rpc_worker.c @@ -93,7 +93,7 @@ static void rpc_worker_print_interface( static NTSTATUS rpc_worker_report_status(struct rpc_worker *worker) { - uint8_t buf[6]; + uint8_t buf[9]; DATA_BLOB blob = { .data = buf, .length = sizeof(buf), }; enum ndr_err_code ndr_err; NTSTATUS status; |