X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Famqp.c;h=be1f709e120181efdf7ce8181c4f9032f02047ed;hb=f11e2883892c641404e10c54b977328820769d7b;hp=f0abd44b461a38c5c7fade0b1e96b92f11897ec7;hpb=ba2ee9aec4c0454eed8f29b4c6ce96c6fc372346;p=collectd.git diff --git a/src/amqp.c b/src/amqp.c index f0abd44b..be1f709e 100644 --- a/src/amqp.c +++ b/src/amqp.c @@ -550,19 +550,25 @@ static void *camqp_subscribe_thread (void *user_data) /* {{{ */ status = camqp_connect (conf); if (status != 0) { + struct timespec ts_interval; ERROR ("amqp plugin: camqp_connect failed. " - "Will sleep for %i seconds.", interval_g); - sleep (interval_g); + "Will sleep for %.3f seconds.", + CDTIME_T_TO_DOUBLE (interval_g)); + CDTIME_T_TO_TIMESPEC (interval_g, &ts_interval); + nanosleep (&ts_interval, /* remaining = */ NULL); continue; } status = amqp_simple_wait_frame (conf->connection, &frame); if (status < 0) { + struct timespec ts_interval; ERROR ("amqp plugin: amqp_simple_wait_frame failed. " - "Will sleep for %i seconds.", interval_g); + "Will sleep for %.3f seconds.", + CDTIME_T_TO_DOUBLE (interval_g)); camqp_close_connection (conf); - sleep (interval_g); + CDTIME_T_TO_TIMESPEC (interval_g, &ts_interval); + nanosleep (&ts_interval, /* remaining = */ NULL); continue; }