Пример #1
0
void driver_destroy(driver_t *driver)
{
  switch(driver->type)
  {
    case DRIVER_TYPE_CONSOLE:
      return driver_console_destroy(driver->real_driver.console);
      break;

    case DRIVER_TYPE_EXEC:
      return driver_exec_destroy(driver->real_driver.exec);
      break;

    case DRIVER_TYPE_COMMAND:
      return driver_command_destroy(driver->real_driver.command);
      break;

    case DRIVER_TYPE_PING:
      return driver_ping_destroy(driver->real_driver.ping);
      break;

    default:
      LOG_FATAL("UNKNOWN DRIVER TYPE!\n");
      exit(1);
      break;
  }

  safe_free(driver);
}
Пример #2
0
static void cleanup(void)
{
  LOG_WARNING("Terminating");

  message_post_shutdown();
  message_cleanup();

  if(group)
    select_group_destroy(group);

  if(driver_console)
    driver_console_destroy(driver_console);
  if(driver_command)
    driver_command_destroy(driver_command);
  if(driver_dns)
    driver_dns_destroy(driver_dns);
  if(driver_exec)
    driver_exec_destroy(driver_exec);
  if(driver_listener)
    driver_listener_destroy(driver_listener);
  if(driver_ping)
    driver_ping_destroy(driver_ping);

  print_memory();
}