1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

s4-server: cleanup allocation of process models

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Nov  3 10:40:52 UTC 2010 on sn-devel-104
This commit is contained in:
Andrew Tridgell 2010-11-03 20:57:38 +11:00
parent 6614f847e0
commit a12c3305b3
2 changed files with 6 additions and 10 deletions

View File

@ -24,7 +24,7 @@
/* the list of currently registered process models */
static struct process_model {
struct model_ops *ops;
const struct model_ops *ops;
bool initialised;
} *models = NULL;
static int num_models;
@ -74,10 +74,8 @@ _PUBLIC_ const struct model_ops *process_model_startup(const char *model)
The 'name' can be later used by other backends to find the operations
structure for this backend.
*/
_PUBLIC_ NTSTATUS register_process_model(const void *_ops)
_PUBLIC_ NTSTATUS register_process_model(const struct model_ops *ops)
{
const struct model_ops *ops = _ops;
if (process_model_byname(ops->name) != NULL) {
/* its already registered! */
DEBUG(0,("PROCESS_MODEL '%s' already registered\n",
@ -85,19 +83,17 @@ _PUBLIC_ NTSTATUS register_process_model(const void *_ops)
return NT_STATUS_OBJECT_NAME_COLLISION;
}
models = realloc_p(models, struct process_model, num_models+1);
models = talloc_realloc(NULL, models, struct process_model, num_models+1);
if (!models) {
smb_panic("out of memory in register_process_model");
}
models[num_models].ops = smb_xmemdup(ops, sizeof(*ops));
models[num_models].ops->name = smb_xstrdup(ops->name);
models[num_models].ops = ops;
models[num_models].initialised = false;
num_models++;
DEBUG(3,("PROCESS_MODEL '%s' registered\n",
ops->name));
DEBUG(3,("PROCESS_MODEL '%s' registered\n", ops->name));
return NT_STATUS_OK;
}

View File

@ -80,7 +80,7 @@ struct process_model_critical_sizes {
extern const struct model_ops single_ops;
const struct model_ops *process_model_startup(const char *model);
NTSTATUS register_process_model(const void *_ops);
NTSTATUS register_process_model(const struct model_ops *ops);
NTSTATUS process_model_init(struct loadparm_context *lp_ctx);
#endif /* __PROCESS_MODEL_H__ */