зеркало из https://github.com/microsoft/git.git
Add a no-op setitimer() wrapper
The current code uses setitimer() only for reducing perceived latency. On platforms that lack setitimer() (e.g. HP NonStop), allow builders to say "make NO_SETITIMER=YesPlease" to use a no-op substitute, as doing so would not affect correctness. HP NonStop does provide struct itimerval, but other platforms may not, so this is taken care of in this commit too, by setting NO_STRUCT_ITIMERVAL. Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
fab4b04e4b
Коммит
7f9e848cf8
12
Makefile
12
Makefile
|
@ -157,6 +157,11 @@ all::
|
||||||
# Define NO_PREAD if you have a problem with pread() system call (e.g.
|
# Define NO_PREAD if you have a problem with pread() system call (e.g.
|
||||||
# cygwin1.dll before v1.5.22).
|
# cygwin1.dll before v1.5.22).
|
||||||
#
|
#
|
||||||
|
# Define NO_SETITIMER if you don't have setitimer()
|
||||||
|
#
|
||||||
|
# Define NO_STRUCT_ITIMERVAL if you don't have struct itimerval
|
||||||
|
# This also implies NO_SETITIMER
|
||||||
|
#
|
||||||
# Define NO_THREAD_SAFE_PREAD if your pread() implementation is not
|
# Define NO_THREAD_SAFE_PREAD if your pread() implementation is not
|
||||||
# thread-safe. (e.g. compat/pread.c or cygwin)
|
# thread-safe. (e.g. compat/pread.c or cygwin)
|
||||||
#
|
#
|
||||||
|
@ -1670,6 +1675,13 @@ endif
|
||||||
ifdef OBJECT_CREATION_USES_RENAMES
|
ifdef OBJECT_CREATION_USES_RENAMES
|
||||||
COMPAT_CFLAGS += -DOBJECT_CREATION_MODE=1
|
COMPAT_CFLAGS += -DOBJECT_CREATION_MODE=1
|
||||||
endif
|
endif
|
||||||
|
ifdef NO_STRUCT_ITIMERVAL
|
||||||
|
COMPAT_CFLAGS += -DNO_STRUCT_ITIMERVAL
|
||||||
|
NO_SETITIMER=YesPlease
|
||||||
|
endif
|
||||||
|
ifdef NO_SETITIMER
|
||||||
|
COMPAT_CFLAGS += -DNO_SETITIMER
|
||||||
|
endif
|
||||||
ifdef NO_PREAD
|
ifdef NO_PREAD
|
||||||
COMPAT_CFLAGS += -DNO_PREAD
|
COMPAT_CFLAGS += -DNO_PREAD
|
||||||
COMPAT_OBJS += compat/pread.o
|
COMPAT_OBJS += compat/pread.o
|
||||||
|
|
|
@ -162,6 +162,17 @@
|
||||||
#define probe_utf8_pathname_composition(a,b)
|
#define probe_utf8_pathname_composition(a,b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef NO_STRUCT_ITIMERVAL
|
||||||
|
struct itimerval {
|
||||||
|
struct timeval it_interval;
|
||||||
|
struct timeval it_value;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NO_SETITIMER
|
||||||
|
#define setitimer(which,value,ovalue)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_LIBGEN_H
|
#ifndef NO_LIBGEN_H
|
||||||
#include <libgen.h>
|
#include <libgen.h>
|
||||||
#else
|
#else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче