]> arthur.barton.de Git - netdata.git/blobdiff - src/ipc.c
use usec_t for microseconds time variables
[netdata.git] / src / ipc.c
index 7e74bd5a12f556e66f35ce00212abe4a60707326..6a261c5c20a9bb9e2355bdcc63d47003550b491b 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -138,7 +138,6 @@ printf ("allocated semaphores = %d\n", status.semaem);
 */
 
 static inline int ipc_sem_get_status(struct ipc_status *st) {
-    static int error_shown = 0;
     struct seminfo seminfo;
     union semun arg;
 
@@ -146,6 +145,7 @@ static inline int ipc_sem_get_status(struct ipc_status *st) {
 
     if(unlikely(semctl (0, 0, SEM_INFO, arg) < 0)) {
         /* kernel not configured for semaphores */
+        static int error_shown = 0;
         if(unlikely(!error_shown)) {
             error("IPC: kernel is not configured for semaphores");
             error_shown = 1;
@@ -160,7 +160,7 @@ static inline int ipc_sem_get_status(struct ipc_status *st) {
     return 0;
 }
 
-int do_ipc(int update_every, unsigned long long dt) {
+int do_ipc(int update_every, usec_t dt) {
     (void)dt;
 
     static int initialized = 0, read_limits_next = 0;
@@ -170,6 +170,8 @@ int do_ipc(int update_every, unsigned long long dt) {
     static RRDSET *semaphores = NULL, *arrays = NULL;
 
     if(unlikely(!initialized)) {
+        initialized = 1;
+        
         // make sure it works
         if(ipc_sem_get_limits(&limits) == -1) {
             error("unable to fetch semaphore limits");