static FILE *f_tasks_fd = NULL, *f_state_fd = NULL, *f_us_man_fd = NULL;
static const char *freezer_frozen = "FROZEN";
static const char *freezer_thawed = "THAWED";
+static char freezer_enabled = 0;
static int open_freezer_files(void)
{
}
res = open_freezer_files();
+ if (res)
+ return res;
+
+ freezer_enabled = 1;
+ LOGI("Freezer enabled\n");
return res;
}
struct stat st;
int res = 0;
+ freezer_enabled = 0;
+ LOGI("Freezer disabled\n");
+
res = thaw_subgroup();
if (res)
return res;
ssize_t res;
pid_t pid;
+ if (!freezer_enabled)
+ return 0;
+
if (f_tasks_fd == NULL) {
LOGE("Tasks freezer subgroup file is closed\n");
return -1;
size_t len = strlen(freezer_frozen) + 1;
ssize_t res;
+ if (!freezer_enabled)
+ return 0;
+
if (f_state_fd == NULL) {
LOGE("Freezer.state subgroup file is closed\n");
return -1;
size_t len = strlen(freezer_thawed) + 1;
ssize_t res;
+ if (!freezer_enabled)
+ return 0;
+
if (f_state_fd == NULL) {
LOGE("Freezer.state subgroup file is closed\n");
return -1;
return 1;
err = create_freezer_subgroup();
- if (err) {
- LOGE("cannot create freezer subgroup");
- return 1;
- }
+ if (err)
+ LOGW("cannot create freezer subgroup\n");
//init all file descriptors
init_system_file_descriptors();