summaryrefslogtreecommitdiffstats
path: root/source3/lib/asys
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2014-03-24 10:39:56 +0000
committerJeremy Allison <jra@samba.org>2014-03-27 06:06:11 +0100
commitc5d07df6abe657ff196266bbfbb376ca7db0968b (patch)
tree926b6cf1b9444e90aa8e17f0c09d7a8df2a3433d /source3/lib/asys
parent84aa2ddd861549d6ec8d1ef15f4fd518e03f449b (diff)
downloadsamba-c5d07df6abe657ff196266bbfbb376ca7db0968b.tar.gz
samba-c5d07df6abe657ff196266bbfbb376ca7db0968b.tar.xz
samba-c5d07df6abe657ff196266bbfbb376ca7db0968b.zip
pthreadpool: Allow multiple jobs to be received
This can avoid syscalls when multiple jobs are finished simultaneously Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib/asys')
-rw-r--r--source3/lib/asys/asys.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/lib/asys/asys.c b/source3/lib/asys/asys.c
index 9937d2482d..1fd7700f9b 100644
--- a/source3/lib/asys/asys.c
+++ b/source3/lib/asys/asys.c
@@ -295,9 +295,9 @@ int asys_result(struct asys_context *ctx, ssize_t *pret, int *perrno,
struct asys_job *job;
int ret, jobid;
- ret = pthreadpool_finished_job(ctx->pool, &jobid);
- if (ret != 0) {
- return ret;
+ ret = pthreadpool_finished_jobs(ctx->pool, &jobid, 1);
+ if (ret < 0) {
+ return -ret;
}
if ((jobid < 0) || (jobid >= ctx->num_jobs)) {
return EIO;