Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Michael Adam <obnox@samba.org>
#include "common/system.h"
static char *progname = NULL;
#include "common/system.h"
static char *progname = NULL;
+static bool realtime = true;
+
+static void set_priority(void)
+{
+ const char *ptr;
+
+ ptr = getenv("CTDB_NOSETSCHED");
+ if (ptr != NULL) {
+ realtime = false;
+ }
+
+ if (! realtime) {
+ return;
+ }
+
+ realtime = set_scheduler();
+ if (! realtime) {
+ fprintf(stderr,
+ "%s: Unable to set real-time scheduler priority\n",
+ progname);
+ }
+}
+
+static void reset_priority(void)
+{
+ if (realtime) {
+ reset_scheduler();
+ }
+}
static void send_result(int fd, char result)
{
static void send_result(int fd, char result)
{
TDB_DATA key;
struct tdb_context *tdb;
int tdb_flags;
TDB_DATA key;
struct tdb_context *tdb;
int tdb_flags;
/* No error checking since CTDB always passes sane values */
tdb_flags = strtol(dbflags, NULL, 0);
/* No error checking since CTDB always passes sane values */
tdb_flags = strtol(dbflags, NULL, 0);
- realtime = set_scheduler();
- if (! realtime) {
- fprintf(stderr, "%s: Unable to set real-time scheduler priority\n",
- progname);
- }
if (tdb_chainlock(tdb, key) < 0) {
fprintf(stderr, "%s: Error getting record lock (%s)\n",
if (tdb_chainlock(tdb, key) < 0) {
fprintf(stderr, "%s: Error getting record lock (%s)\n",
- if (realtime) {
- reset_scheduler();
- }
{
struct tdb_context *tdb;
int tdb_flags;
{
struct tdb_context *tdb;
int tdb_flags;
/* No error checking since CTDB always passes sane values */
tdb_flags = strtol(dbflags, NULL, 0);
/* No error checking since CTDB always passes sane values */
tdb_flags = strtol(dbflags, NULL, 0);
- realtime = set_scheduler();
- if (! realtime) {
- fprintf(stderr, "%s: Unable to set real-time scheduler priority\n",
- progname);
- }
if (tdb_lockall(tdb) < 0) {
fprintf(stderr, "%s: Error getting db lock (%s)\n",
if (tdb_lockall(tdb) < 0) {
fprintf(stderr, "%s: Error getting db lock (%s)\n",
- if (realtime) {
- reset_scheduler();
- }