MaxScale/server/core/misc.cc
Markus Mäkelä 26dfb19ea4
Make routingworker.hh public
Given that worker.hh was public, it made sense to make routingworker.hh
public as well. This removes the need to include private headers in
modules and allows C++ constructs to be used in C++ code when previously
only the C API was available.
2018-09-04 13:04:08 +03:00

70 lines
1.2 KiB
C++

/*
* Copyright (c) 2016 MariaDB Corporation Ab
*
* Use of this software is governed by the Business Source License included
* in the LICENSE.TXT file and at www.mariadb.com/bsl11.
*
* Change Date: 2022-01-01
*
* On the date above, in accordance with the Business Source License, use
* of this software will be governed by version 2 or later of the General
* Public License.
*/
#include <maxscale/maxscale.h>
#include <time.h>
#include <maxscale/routingworker.hh>
#include "internal/maxscale.h"
#include "internal/service.hh"
static time_t started;
void maxscale_reset_starttime(void)
{
started = time(0);
}
time_t maxscale_started(void)
{
return started;
}
int maxscale_uptime()
{
return time(0) - started;
}
static sig_atomic_t n_shutdowns = 0;
bool maxscale_is_shutting_down()
{
return n_shutdowns != 0;
}
int maxscale_shutdown()
{
int n = n_shutdowns++;
if (n == 0)
{
mxs::RoutingWorker::shutdown_all();
}
return n + 1;
}
static bool teardown_in_progress = false;
bool maxscale_teardown_in_progress()
{
return teardown_in_progress;
}
void maxscale_start_teardown()
{
teardown_in_progress = true;
}