mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 19:06:44 +00:00
Fixup for r269288. SleepForSeconds is not available in nolibc builds, let's add an internal_sleep.
llvm-svn: 269296
This commit is contained in:
parent
241c67989b
commit
00dde7563e
@ -23,5 +23,6 @@ void LogMessageOnPrintf(const char *str) {}
|
||||
#endif
|
||||
void WriteToSyslog(const char *buffer) {}
|
||||
void Abort() { internal__exit(1); }
|
||||
void SleepForSeconds(int seconds) { internal_sleep(seconds); }
|
||||
|
||||
} // namespace __sanitizer
|
||||
|
@ -70,6 +70,7 @@ uptr internal_ftruncate(fd_t fd, uptr size);
|
||||
|
||||
// OS
|
||||
void NORETURN internal__exit(int exitcode);
|
||||
unsigned int internal_sleep(unsigned int seconds);
|
||||
|
||||
uptr internal_getpid();
|
||||
uptr internal_getppid();
|
||||
|
@ -336,6 +336,15 @@ void internal__exit(int exitcode) {
|
||||
Die(); // Unreachable.
|
||||
}
|
||||
|
||||
unsigned int internal_sleep(unsigned int seconds) {
|
||||
struct timespec ts;
|
||||
ts.tv_sec = 1;
|
||||
ts.tv_nsec = 0;
|
||||
int res = internal_syscall(SYSCALL(nanosleep), &ts, &ts);
|
||||
if (res) return ts.tv_sec;
|
||||
return 0;
|
||||
}
|
||||
|
||||
uptr internal_execve(const char *filename, char *const argv[],
|
||||
char *const envp[]) {
|
||||
return internal_syscall(SYSCALL(execve), (uptr)filename, (uptr)argv,
|
||||
|
@ -161,6 +161,10 @@ void internal__exit(int exitcode) {
|
||||
_exit(exitcode);
|
||||
}
|
||||
|
||||
unsigned int internal_sleep(unsigned int seconds) {
|
||||
sleep(seconds);
|
||||
}
|
||||
|
||||
uptr internal_getpid() {
|
||||
return getpid();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user