All of the res/ stuff (other than res_jabber) from the RSW branch.
[asterisk/asterisk.git] / res / res_timing_pthread.c
index f0a1d0e..187fd2b 100644 (file)
@@ -46,6 +46,7 @@ static void pthread_timer_ack(int handle, unsigned int quantity);
 static int pthread_timer_enable_continuous(int handle);
 static int pthread_timer_disable_continuous(int handle);
 static enum ast_timing_event pthread_timer_get_event(int handle);
+static unsigned int pthread_timer_get_max_rate(int handle);
 
 static struct ast_timing_functions pthread_timing_functions = {
        .timer_open = pthread_timer_open,
@@ -55,6 +56,7 @@ static struct ast_timing_functions pthread_timing_functions = {
        .timer_enable_continuous = pthread_timer_enable_continuous,
        .timer_disable_continuous = pthread_timer_disable_continuous,
        .timer_get_event = pthread_timer_get_event,
+       .timer_get_max_rate = pthread_timer_get_max_rate,
 };
 
 /* 1 tick / 10 ms */
@@ -85,7 +87,7 @@ struct pthread_timer {
 };
 
 static void pthread_timer_destructor(void *obj);
-static struct pthread_timer *find_timer(int handle, int unlink);
+static struct pthread_timer *find_timer(int handle, int unlinkobj);
 static void write_byte(int wr_fd);
 static void read_pipe(int rd_fd, unsigned int num, int clear);
 
@@ -249,7 +251,12 @@ static enum ast_timing_event pthread_timer_get_event(int handle)
        return res;
 }
 
-static struct pthread_timer *find_timer(int handle, int unlink)
+static unsigned int pthread_timer_get_max_rate(int handle)
+{
+       return MAX_RATE;
+}
+
+static struct pthread_timer *find_timer(int handle, int unlinkobj)
 {
        struct pthread_timer *timer;
        struct pthread_timer tmp_timer;
@@ -257,7 +264,7 @@ static struct pthread_timer *find_timer(int handle, int unlink)
 
        tmp_timer.pipe[PIPE_READ] = handle;
 
-       if (unlink) {
+       if (unlinkobj) {
                flags |= OBJ_UNLINK;
        }
 
@@ -341,7 +348,7 @@ static void read_pipe(int rd_fd, unsigned int quantity, int clear)
                unsigned char buf[1024];
                ssize_t res;
                fd_set rfds;
-               struct timeval tv = {
+               struct timeval timeout = {
                        .tv_sec = 0,
                };
 
@@ -349,7 +356,7 @@ static void read_pipe(int rd_fd, unsigned int quantity, int clear)
                FD_ZERO(&rfds);
                FD_SET(rd_fd, &rfds);
 
-               if (select(rd_fd + 1, &rfds, NULL, NULL, &tv) != 1) {
+               if (select(rd_fd + 1, &rfds, NULL, NULL, &timeout) != 1) {
                        break;
                }