fix: do some cleaning up
This commit is contained in:
@@ -49,15 +49,12 @@ led_blink_timing_func(int percent)
|
|||||||
{
|
{
|
||||||
percentage = percent;
|
percentage = percent;
|
||||||
return te_eval(expr);
|
return te_eval(expr);
|
||||||
|
|
||||||
// return 1.7 + 18.5 * exp(-0.29 * percent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_eval(int sig)
|
free_eval(int sig)
|
||||||
{
|
{
|
||||||
te_free(expr);
|
te_free(expr);
|
||||||
exit(sig);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -67,13 +64,13 @@ setup_led_formula(void)
|
|||||||
|
|
||||||
te_variable vars[] = { { "p", &percentage } };
|
te_variable vars[] = { { "p", &percentage } };
|
||||||
expr = te_compile(led_blink_timing_formula, vars, 1, &err);
|
expr = te_compile(led_blink_timing_formula, vars, 1, &err);
|
||||||
signal(SIGINT, free_eval);
|
|
||||||
if (!expr) {
|
if (!expr) {
|
||||||
log_fatal("%s", led_blink_timing_formula);
|
log_fatal("%s", led_blink_timing_formula);
|
||||||
log_fatal("%*s^ Error near here", err - 1, "");
|
log_fatal("%*s^ Error near here", err - 1, "");
|
||||||
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
signal(SIGINT, free_eval);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@@ -115,8 +115,6 @@ pre_exit(int signal)
|
|||||||
fclose(data->pfile);
|
fclose(data->pfile);
|
||||||
free(data->file_name);
|
free(data->file_name);
|
||||||
free(data);
|
free(data);
|
||||||
|
|
||||||
exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@@ -118,16 +118,12 @@ pre_exit(int signal)
|
|||||||
|
|
||||||
zwp_idle_inhibit_manager_v1_destroy(data->inhibitmanager);
|
zwp_idle_inhibit_manager_v1_destroy(data->inhibitmanager);
|
||||||
wl_registry_destroy(data->registry);
|
wl_registry_destroy(data->registry);
|
||||||
|
// wl_display_destroy(data->display);
|
||||||
wl_compositor_destroy(data->compositor);
|
wl_compositor_destroy(data->compositor);
|
||||||
wl_surface_destroy(data->surface);
|
wl_surface_destroy(data->surface);
|
||||||
/* TODO: this causes a segfault
|
|
||||||
wl_display_destroy(data->display);
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* make sure to cleanup the allocated data */
|
/* make sure to cleanup the allocated data */
|
||||||
free(data);
|
free(data);
|
||||||
|
|
||||||
exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Reference in New Issue
Block a user