1 /* Copyright (C) 2000-2022 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 2.1 of the 7 License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; see the file COPYING.LIB. If 16 not, see <https://www.gnu.org/licenses/>. */ 17 18 #include <errno.h> 19 #include <pthread.h> 20 #include <time.h> 21 22 #include "posix-timer.h" 23 24 25 /* Get expiration overrun for timer TIMERID. */ 26 int timer_getoverrun(timer_t timerid)27timer_getoverrun (timer_t timerid) 28 { 29 struct timer_node *timer; 30 int retval = -1; 31 32 pthread_mutex_lock (&__timer_mutex); 33 34 if (! timer_valid (timer = timer_id2ptr (timerid))) 35 __set_errno (EINVAL); 36 else 37 retval = timer->overrun_count; 38 39 pthread_mutex_unlock (&__timer_mutex); 40 41 return retval; 42 } 43