summaryrefslogtreecommitdiff
path: root/src/rmd_threads.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rmd_threads.c')
-rw-r--r--src/rmd_threads.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rmd_threads.c b/src/rmd_threads.c
index 69b98bf..88a4bbc 100644
--- a/src/rmd_threads.c
+++ b/src/rmd_threads.c
@@ -44,6 +44,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/prctl.h>
+#include <time.h>
#include <unistd.h>
void rmdThreads(ProgData *pdata) {
@@ -58,7 +59,7 @@ void rmdThreads(ProgData *pdata) {
if (pdata->args.delay > 0) {
fprintf(stderr, "Will sleep for %d seconds now.\n", pdata->args.delay);
- sleep(pdata->args.delay);
+ nanosleep(&(struct timespec){ .tv_sec = pdata->args.delay }, NULL);
}
/*start threads*/
@@ -125,7 +126,7 @@ void rmdThreads(ProgData *pdata) {
puts("waiting for th_enc");
pthread_cond_signal(&pdata->image_buffer_ready);
pthread_mutex_unlock(&pdata->theora_lib_mutex);
- usleep(10000);
+ nanosleep(&(struct timespec){ .tv_nsec = 10000000 }, NULL);
pthread_mutex_lock(&pdata->theora_lib_mutex);
}
pthread_mutex_unlock(&pdata->theora_lib_mutex);
@@ -150,7 +151,7 @@ void rmdThreads(ProgData *pdata) {
puts("waiting for v_enc");
pthread_cond_signal(&pdata->sound_data_read);
pthread_mutex_unlock(&pdata->vorbis_lib_mutex);
- usleep(10000);
+ nanosleep(&(struct timespec){ .tv_nsec = 10000000 }, NULL);
pthread_mutex_lock(&pdata->vorbis_lib_mutex);
}
pthread_mutex_unlock(&pdata->vorbis_lib_mutex);
© All Rights Reserved