void (*terminate)(struct tevent_context *,
struct loadparm_context *lp_ctx,
const char *reason,
- void * process_context);
+ bool fatal,
+ void *process_context);
/* function to set a title for the connection or task */
void (*set_title)(struct tevent_context *, const char *title);
static void prefork_terminate(struct tevent_context *ev,
struct loadparm_context *lp_ctx,
const char *reason,
+ bool fatal,
void *process_context)
{
DBG_DEBUG("called with reason[%s]\n", reason);
static void single_terminate(struct tevent_context *ev,
struct loadparm_context *lp_ctx,
const char *reason,
+ bool fatal,
void *process_context)
{
DBG_NOTICE("single_terminate: reason[%s]\n",reason);
static void standard_terminate(struct tevent_context *ev,
struct loadparm_context *lp_ctx,
const char *reason,
+ bool fatal,
void *process_context)
{
struct process_context *proc_ctx = NULL;
const struct model_ops *model_ops = srv_conn->model_ops;
struct loadparm_context *lp_ctx = srv_conn->lp_ctx;
void *process_context = srv_conn->process_context;
+ bool fatal = true;
TALLOC_CTX *frame = NULL;
if (!reason) reason = "unknown reason";
srv_conn->event.fde = NULL;
imessaging_cleanup(srv_conn->msg_ctx);
TALLOC_FREE(srv_conn);
- model_ops->terminate(event_ctx, lp_ctx, reason, process_context);
+ model_ops->terminate(event_ctx, lp_ctx, reason, fatal, process_context);
TALLOC_FREE(frame);
}
imessaging_cleanup(task->msg_ctx);
- model_ops->terminate(event_ctx, task->lp_ctx, reason,
- task->process_context);
+ model_ops->terminate(
+ event_ctx, task->lp_ctx, reason, fatal, task->process_context);
/* don't free this above, it might contain the 'reason' being printed */
talloc_free(task);
}