From 0f544f33633468b5d249a10dc901e88a3820a97a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 25 Jul 2022 14:29:35 +0200 Subject: [PATCH] lib/util: make use of tevent_cached_getpid() in performance critical code This avoids wasting getpid() calls in a lot of places... Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- lib/util/genrand_util.c | 3 ++- lib/util/util.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/util/genrand_util.c b/lib/util/genrand_util.c index 9aa35de3ae7..fdc2654a204 100644 --- a/lib/util/genrand_util.c +++ b/lib/util/genrand_util.c @@ -21,6 +21,7 @@ #include "replace.h" #include "system/locale.h" +#include #include "lib/util/samba_util.h" #include "lib/util/debug.h" @@ -56,7 +57,7 @@ _PUBLIC_ uint64_t generate_unique_u64(uint64_t veto_value) int pid; } generate_unique_u64_state; - int pid = getpid(); + int pid = tevent_cached_getpid(); if (unlikely(pid != generate_unique_u64_state.pid)) { generate_unique_u64_state = (struct generate_unique_u64_state) { diff --git a/lib/util/util.c b/lib/util/util.c index 8c2a74fe5f3..02d1cbfda17 100644 --- a/lib/util/util.c +++ b/lib/util/util.c @@ -25,6 +25,7 @@ #include "replace.h" #include +#include #include "system/network.h" #include "system/filesys.h" #include "system/locale.h" @@ -422,7 +423,7 @@ _PUBLIC_ bool fcntl_lock(int fd, int op, off_t offset, off_t count, int type) if ((ret != -1) && (lock.l_type != F_UNLCK) && (lock.l_pid != 0) && - (lock.l_pid != getpid())) { + (lock.l_pid != tevent_cached_getpid())) { DEBUG(3,("fcntl_lock: fd %d is locked by pid %d\n",fd,(int)lock.l_pid)); return true; }