mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
e3e0a295c3
We do way too much stuff in the parent smbd in remove_child_pid(). In particular accessing ctdbd is not a good idea when ctdbd is stuck in something. We've had a case where smbd exited itself with "ctdb timeout" being set to 60 seconds. ctdb was just stuck doing recoveries, and the parent smbd was sitting in serverid_exists trying to retrieve a record for a child that had exited. Not good. This daemon sits there as parent->cleanupd and receives MSG_SMB_NOTIFY_CLEANUP messages that hold the serverid and exit status of a former child. The next commits will step by step empty remove_child_pid in the parent and move the tasks to the helper. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
/*
|
|
* Unix SMB/CIFS implementation.
|
|
*
|
|
* Copyright (C) Volker Lendecke 2014
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __SMBD_CLEANUPD_H__
|
|
#define __SMBD_CLEANUPD_H__
|
|
|
|
#include "replace.h"
|
|
#include <tevent.h>
|
|
#include "messages.h"
|
|
|
|
struct tevent_req *smbd_cleanupd_send(TALLOC_CTX *mem_ctx,
|
|
struct tevent_context *ev,
|
|
struct messaging_context *msg,
|
|
pid_t parent_pid);
|
|
NTSTATUS smbd_cleanupd_recv(struct tevent_req *req);
|
|
|
|
#endif
|