-only trigger check config if we actually need it
[oweals/gnunet.git] / src / ats / plugin_ats_mlp.c
index 7d402044f1125bdfbb9722121e1a4b42ae76e5e9..e6a790377736e1633ee1bb85fbdaa11a8b6b53b3 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2011-2014 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2011-2014 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -785,7 +785,6 @@ mlp_create_problem_update_value (struct MLP_Problem *p,
   double *val_array;
   int *ind_array;
 
-  GNUNET_assert (NULL != p);
   GNUNET_assert (NULL != p->prob);
 
   /* Get number of columns and prepare data structure */
@@ -1589,8 +1588,8 @@ GAS_mlp_solve_problem (void *solver)
   {
     LOG(GNUNET_ERROR_TYPE_DEBUG, "Problem size changed, rebuilding\n");
     notify(mlp, GAS_OP_SOLVE_SETUP_START, GAS_STAT_SUCCESS, GAS_INFO_FULL);
-    mlp_delete_problem(mlp);
-    if (GNUNET_SYSERR == mlp_create_problem(mlp))
+    mlp_delete_problem (mlp);
+    if (GNUNET_SYSERR == mlp_create_problem (mlp))
       {
         notify(mlp, GAS_OP_SOLVE_SETUP_STOP, GAS_STAT_FAIL, GAS_INFO_FULL);
         return GNUNET_SYSERR;
@@ -1905,6 +1904,9 @@ GAS_mlp_address_property_changed (void *solver,
   struct MLP_information *mlpi = address->solver_information;
   struct GAS_MLP_Handle *mlp = solver;
 
+  if (NULL == mlp->p.prob)
+    return; /* There is no MLP problem to update yet */
+
   if (NULL == mlpi)
   {
     LOG (GNUNET_ERROR_TYPE_INFO,