From: Stefan Metzmacher Date: Thu, 26 Jul 2018 07:41:22 +0000 (+0200) Subject: pthreadpool: we need to use pthreadpool_tevent_per_thread_cwd() on the callers pool X-Git-Tag: ldb-1.5.0~155 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=ff863f2d98ac5e12073af824b794404c3d7198c5 pthreadpool: we need to use pthreadpool_tevent_per_thread_cwd() on the callers pool In pthreadpool_tevent_job_send() we remember if the job will be chdir safe. It means we means we need to ask the callers pool when calling pthreadpool_tevent_per_thread_cwd(), as the callers pool might be a wrapper using pthreadpool_tevent_force_per_thread_cwd(). Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme --- diff --git a/lib/pthreadpool/pthreadpool_tevent.c b/lib/pthreadpool/pthreadpool_tevent.c index f88f82d17d8..b4a9786f231 100644 --- a/lib/pthreadpool/pthreadpool_tevent.c +++ b/lib/pthreadpool/pthreadpool_tevent.c @@ -992,6 +992,7 @@ struct tevent_req *pthreadpool_tevent_job_send( struct pthreadpool_tevent_job_state *state = NULL; struct pthreadpool_tevent_job *job = NULL; int ret; + struct pthreadpool_tevent *caller_pool = pool; struct pthreadpool_tevent_wrapper *wrapper = pool->wrapper.ctx; pthreadpool_tevent_cleanup_orphaned_jobs(); @@ -1037,7 +1038,7 @@ struct tevent_req *pthreadpool_tevent_job_send( return tevent_req_post(req, ev); } PTHREAD_TEVENT_JOB_THREAD_FENCE_INIT(job); - job->per_thread_cwd = pthreadpool_tevent_per_thread_cwd(pool); + job->per_thread_cwd = pthreadpool_tevent_per_thread_cwd(caller_pool); talloc_set_destructor(job, pthreadpool_tevent_job_destructor); DLIST_ADD_END(job->pool->jobs, job); job->state = state;