LINUX.ORG.RU

История изменений

Исправление cumvillain, (текущая версия) :

От этого тебя спасет компилятор, выкинув ворнинг. SAFE_FREE спасет тебя вот от такого:

thread1:
  mutex_lock(...);
  SAFE_FREE(cfg->some_list);
  mutex_unlock(...);

thread2:
  mutex_lock();
  cfg->some_list[i];
  mutex_unlock(...);

Ну как спасет – ты упадешь, но эта срань не доедет до продакшона. А если доедет, то тоже упадет, не сотворив дичи.

Исходная версия cumvillain, :

От этого тебя спасет компилятор, выкинув ворнинг. SAFE_FREE спасет тебя вот от такого:

thread1:
  mutex_lock(...);
  SAFE_FREE(cfg->some_list);
  mutex_unlock(...);

thread2:
  mutex_lock();
  cfg->some_list[i];
  mutex_unlock(...);