mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
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 <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
94e130fb86
commit
0f544f3363
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "replace.h"
|
#include "replace.h"
|
||||||
#include "system/locale.h"
|
#include "system/locale.h"
|
||||||
|
#include <tevent.h>
|
||||||
#include "lib/util/samba_util.h"
|
#include "lib/util/samba_util.h"
|
||||||
#include "lib/util/debug.h"
|
#include "lib/util/debug.h"
|
||||||
|
|
||||||
@ -56,7 +57,7 @@ _PUBLIC_ uint64_t generate_unique_u64(uint64_t veto_value)
|
|||||||
int pid;
|
int pid;
|
||||||
} generate_unique_u64_state;
|
} generate_unique_u64_state;
|
||||||
|
|
||||||
int pid = getpid();
|
int pid = tevent_cached_getpid();
|
||||||
|
|
||||||
if (unlikely(pid != generate_unique_u64_state.pid)) {
|
if (unlikely(pid != generate_unique_u64_state.pid)) {
|
||||||
generate_unique_u64_state = (struct generate_unique_u64_state) {
|
generate_unique_u64_state = (struct generate_unique_u64_state) {
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "replace.h"
|
#include "replace.h"
|
||||||
#include <talloc.h>
|
#include <talloc.h>
|
||||||
|
#include <tevent.h>
|
||||||
#include "system/network.h"
|
#include "system/network.h"
|
||||||
#include "system/filesys.h"
|
#include "system/filesys.h"
|
||||||
#include "system/locale.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) &&
|
if ((ret != -1) &&
|
||||||
(lock.l_type != F_UNLCK) &&
|
(lock.l_type != F_UNLCK) &&
|
||||||
(lock.l_pid != 0) &&
|
(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));
|
DEBUG(3,("fcntl_lock: fd %d is locked by pid %d\n",fd,(int)lock.l_pid));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user