Code

write_redis: don't return with lock held
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Sat, 28 Nov 2015 17:37:15 +0000 (18:37 +0100)
committerMarc Fournier <marc.fournier@camptocamp.com>
Thu, 14 Jan 2016 10:11:52 +0000 (11:11 +0100)
src/write_redis.c

index ecbea4e24946b0f72bfdd10b08ca8acd8a878f13..5dd674cf24796b4c78de42378a92dccf981be0b6 100644 (file)
@@ -70,10 +70,11 @@ static int wr_write (const data_set_t *ds, /* {{{ */
   value_ptr = &value[0];
 
   status = format_values (value_ptr, value_size, ds, vl, /* store rates = */ 0);
-  pthread_mutex_lock (&node->lock);
   if (status != 0)
     return (status);
 
+  pthread_mutex_lock (&node->lock);
+
   if (node->conn == NULL)
   {
     node->conn = credis_connect (node->host, node->port, node->timeout);