aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cddl/compat/opensolaris/misc/thread_pool.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/cddl/compat/opensolaris/misc/thread_pool.c b/cddl/compat/opensolaris/misc/thread_pool.c
index a6a834fb2bbd..6ae0055afceb 100644
--- a/cddl/compat/opensolaris/misc/thread_pool.c
+++ b/cddl/compat/opensolaris/misc/thread_pool.c
@@ -233,12 +233,11 @@ tpool_create(uint_t min_threads, uint_t max_threads, uint_t linger,
return (NULL);
}
- tpool = malloc(sizeof (*tpool));
+ tpool = calloc(1, sizeof (*tpool));
if (tpool == NULL) {
errno = ENOMEM;
return (NULL);
}
- bzero(tpool, sizeof(*tpool));
(void) pthread_mutex_init(&tpool->tp_mutex, NULL);
(void) pthread_cond_init(&tpool->tp_busycv, NULL);
(void) pthread_cond_init(&tpool->tp_workcv, NULL);
@@ -267,9 +266,8 @@ tpool_dispatch(tpool_t *tpool, void (*func)(void *), void *arg)
{
tpool_job_t *job;
- if ((job = malloc(sizeof (*job))) == NULL)
+ if ((job = calloc(1, sizeof (*job))) == NULL)
return (-1);
- bzero(job, sizeof(*job));
job->tpj_next = NULL;
job->tpj_func = func;
job->tpj_arg = arg;