rlimit-util: add a common destructor call for arrays of struct rlimit
This commit is contained in:
parent
4f424df760
commit
31ce987c2b
|
@ -324,3 +324,13 @@ int rlimit_from_string_harder(const char *s) {
|
|||
|
||||
return rlimit_from_string(s);
|
||||
}
|
||||
|
||||
void rlimit_free_all(struct rlimit **rl) {
|
||||
int i;
|
||||
|
||||
if (!rl)
|
||||
return;
|
||||
|
||||
for (i = 0; i < _RLIMIT_MAX; i++)
|
||||
rl[i] = mfree(rl[i]);
|
||||
}
|
||||
|
|
|
@ -22,4 +22,6 @@ int rlimit_parse(int resource, const char *val, struct rlimit *ret);
|
|||
|
||||
int rlimit_format(const struct rlimit *rl, char **ret);
|
||||
|
||||
void rlimit_free_all(struct rlimit **rl);
|
||||
|
||||
#define RLIMIT_MAKE_CONST(lim) ((struct rlimit) { lim, lim })
|
||||
|
|
|
@ -3574,8 +3574,7 @@ void exec_context_done(ExecContext *c) {
|
|||
c->pass_environment = strv_free(c->pass_environment);
|
||||
c->unset_environment = strv_free(c->unset_environment);
|
||||
|
||||
for (l = 0; l < ELEMENTSOF(c->rlimit); l++)
|
||||
c->rlimit[l] = mfree(c->rlimit[l]);
|
||||
rlimit_free_all(c->rlimit);
|
||||
|
||||
for (l = 0; l < 3; l++) {
|
||||
c->stdio_fdname[l] = mfree(c->stdio_fdname[l]);
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
#include "path-util.h"
|
||||
#include "process-util.h"
|
||||
#include "ratelimit.h"
|
||||
#include "rlimit-util.h"
|
||||
#include "rm-rf.h"
|
||||
#include "signal-util.h"
|
||||
#include "socket-util.h"
|
||||
|
@ -1174,7 +1175,6 @@ static void manager_clear_jobs_and_units(Manager *m) {
|
|||
|
||||
Manager* manager_free(Manager *m) {
|
||||
UnitType c;
|
||||
int i;
|
||||
ExecDirectoryType dt;
|
||||
|
||||
if (!m)
|
||||
|
@ -1242,8 +1242,7 @@ Manager* manager_free(Manager *m) {
|
|||
free(m->switch_root);
|
||||
free(m->switch_root_init);
|
||||
|
||||
for (i = 0; i < _RLIMIT_MAX; i++)
|
||||
m->rlimit[i] = mfree(m->rlimit[i]);
|
||||
rlimit_free_all(m->rlimit);
|
||||
|
||||
assert(hashmap_isempty(m->units_requiring_mounts_for));
|
||||
hashmap_free(m->units_requiring_mounts_for);
|
||||
|
|
Loading…
Reference in New Issue