From: Martin Quinson Date: Tue, 30 May 2017 10:22:24 +0000 (+0200) Subject: please sonar X-Git-Tag: v3.16~179 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ea66702ca647cf2e57f4680aa88f8e0eda6011bc please sonar --- diff --git a/examples/msg/mc/bugged1.c b/examples/msg/mc/bugged1.c index 77e429b75d..d85f8990db 100644 --- a/examples/msg/mc/bugged1.c +++ b/examples/msg/mc/bugged1.c @@ -1,5 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ diff --git a/examples/msg/mc/bugged1_liveness.c b/examples/msg/mc/bugged1_liveness.c index fda05544cf..47107f0fca 100644 --- a/examples/msg/mc/bugged1_liveness.c +++ b/examples/msg/mc/bugged1_liveness.c @@ -1,14 +1,13 @@ -/* Copyright (c) 2012-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2012-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -/***************** Centralized Mutual Exclusion Algorithm *********************/ -/* This example implements a centralized mutual exclusion algorithm. */ -/* Bug : CS requests of client 1 not satisfied */ -/* LTL property checked : G(r->F(cs)); (r=request of CS, cs=CS ok) */ -/******************************************************************************/ +/***************** Centralized Mutual Exclusion Algorithm *******************/ +/* This example implements a centralized mutual exclusion algorithm. */ +/* Bug : CS requests of client 1 not satisfied */ +/* LTL property checked : G(r->F(cs)); (r=request of CS, cs=CS ok) */ +/****************************************************************************/ #ifdef GARBAGE_STACK #include @@ -38,8 +37,9 @@ static void garbage_stack(void) { static int coordinator(int argc, char *argv[]) { - int CS_used = 0; - msg_task_t task = NULL, answer = NULL; + int CS_used = 0; + msg_task_t task = NULL; + msg_task_t answer = NULL; xbt_dynar_t requests = xbt_dynar_new(sizeof(char *), NULL); char *req; @@ -88,7 +88,8 @@ static int client(int argc, char *argv[]) int my_pid = MSG_process_get_PID(MSG_process_self()); char *my_mailbox = xbt_strdup(argv[1]); - msg_task_t grant = NULL, release = NULL; + msg_task_t grant = NULL; + msg_task_t release = NULL; while(1){ XBT_INFO("Ask the request"); diff --git a/examples/msg/mc/bugged2.c b/examples/msg/mc/bugged2.c index 9087da3cc2..90dba114cb 100644 --- a/examples/msg/mc/bugged2.c +++ b/examples/msg/mc/bugged2.c @@ -1,5 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2015. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -19,16 +18,15 @@ static int server(int argc, char *argv[]) { msg_task_t task1 = NULL; msg_task_t task2 = NULL; - long val1, val2; MSG_task_receive(&task1, "mymailbox"); - val1 = xbt_str_parse_int(MSG_task_get_name(task1), "Task name is not a numerical ID: %s"); + long val1 = xbt_str_parse_int(MSG_task_get_name(task1), "Task name is not a numerical ID: %s"); MSG_task_destroy(task1); task1 = NULL; XBT_INFO("Received %lu", val1); MSG_task_receive(&task2, "mymailbox"); - val2 = xbt_str_parse_int(MSG_task_get_name(task2), "Task name is not a numerical ID: %s"); + long val2 = xbt_str_parse_int(MSG_task_get_name(task2), "Task name is not a numerical ID: %s"); MSG_task_destroy(task2); task2 = NULL; XBT_INFO("Received %lu", val2); diff --git a/examples/msg/mc/bugged3.c b/examples/msg/mc/bugged3.c index 3d8d7364a9..879c37d9ea 100644 --- a/examples/msg/mc/bugged3.c +++ b/examples/msg/mc/bugged3.c @@ -1,5 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -21,7 +20,8 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(bugged3, "this example"); static int server(int argc, char *argv[]) { - msg_task_t task1,task2; + msg_task_t task1 = NULL; + msg_task_t task2 = NULL; msg_comm_t comm1 = MSG_task_irecv(&task1, "mymailbox1"); msg_comm_t comm2 = MSG_task_irecv(&task2, "mymailbox2"); diff --git a/src/kernel/activity/ActivityImpl.cpp b/src/kernel/activity/ActivityImpl.cpp index 8506c1d1a3..77e657063f 100644 --- a/src/kernel/activity/ActivityImpl.cpp +++ b/src/kernel/activity/ActivityImpl.cpp @@ -19,9 +19,7 @@ void simgrid::kernel::activity::ActivityImpl::unref() { xbt_assert(refcount_ > 0, "This activity has a negative refcount! You can only call test() or wait() once per activity."); - - // Atomic operation! Do not split in two instructions! - auto count = --refcount_; - if (count == 0) + refcount_--; + if (refcount_ == 0) delete this; }