Skip to content

Commit 4299753

Browse files
committed
Refactor: libcrmcommon: New pcmk__mainloop_child_exit_fn_t typedef
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
1 parent 2893d98 commit 4299753

3 files changed

Lines changed: 19 additions & 22 deletions

File tree

include/crm/common/mainloop.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ typedef struct mainloop_child_s mainloop_child_t;
4444
// NOTE: sbd (as of at least 1.5.2) uses this
4545
typedef struct mainloop_timer_s mainloop_timer_t;
4646

47+
//! \deprecated This has been for internal use only since its creation.
48+
typedef void (*pcmk__mainloop_child_exit_fn_t)(mainloop_child_t *p, int core,
49+
int signo, int exitcode);
50+
4751
void mainloop_cleanup(void);
4852

4953
// NOTE: sbd (as of at least 1.5.2) uses this
@@ -167,20 +171,13 @@ void mainloop_del_fd(mainloop_io_t * client);
167171
* Create a new tracked process
168172
* To track a process group, use -pid
169173
*/
170-
void mainloop_child_add(pid_t pid,
171-
int timeout,
172-
const char *desc,
174+
void mainloop_child_add(pid_t pid, int timeout, const char *desc,
173175
void *userdata,
174-
void (*callback)(mainloop_child_t *p, int core,
175-
int signo, int exitcode));
176+
pcmk__mainloop_child_exit_fn_t exit_fn);
176177

177-
void mainloop_child_add_with_flags(pid_t pid,
178-
int timeout,
179-
const char *desc,
180-
void *userdata,
181-
enum mainloop_child_flags,
182-
void (*callback)(mainloop_child_t *p, int core,
183-
int signo, int exitcode));
178+
void mainloop_child_add_with_flags(pid_t pid, int timeout, const char *desc,
179+
void *userdata, enum mainloop_child_flags,
180+
pcmk__mainloop_child_exit_fn_t exit_fn);
184181

185182
void *mainloop_child_userdata(mainloop_child_t * child);
186183
int mainloop_child_timeout(mainloop_child_t * child);

include/crm/common/mainloop_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct mainloop_child_s {
3535
enum mainloop_child_flags flags;
3636

3737
/* Called when a process dies */
38-
void (*callback)(mainloop_child_t *p, int core, int signo, int exitcode);
38+
pcmk__mainloop_child_exit_fn_t exit_fn;
3939
};
4040

4141
int pcmk__add_mainloop_ipc(crm_ipc_t *ipc, int priority, void *userdata,

lib/common/mainloop.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,8 +1158,8 @@ child_waitpid(mainloop_child_t *child, int flags)
11581158
callback_needed = false;
11591159
}
11601160

1161-
if (callback_needed && child->callback) {
1162-
child->callback(child, core, signo, exitcode);
1161+
if (callback_needed && child->exit_fn) {
1162+
child->exit_fn(child, core, signo, exitcode);
11631163
}
11641164
return callback_needed;
11651165
}
@@ -1251,9 +1251,10 @@ mainloop_child_kill(pid_t pid)
12511251
* completed process.
12521252
*/
12531253
void
1254-
mainloop_child_add_with_flags(pid_t pid, int timeout, const char *desc, void *privatedata, enum mainloop_child_flags flags,
1255-
void (*callback)(mainloop_child_t *p, int core,
1256-
int signo, int exitcode))
1254+
mainloop_child_add_with_flags(pid_t pid, int timeout, const char *desc,
1255+
void *privatedata,
1256+
enum mainloop_child_flags flags,
1257+
pcmk__mainloop_child_exit_fn_t exit_fn)
12571258
{
12581259
static bool need_init = TRUE;
12591260
mainloop_child_t *child = pcmk__assert_alloc(1, sizeof(mainloop_child_t));
@@ -1262,7 +1263,7 @@ mainloop_child_add_with_flags(pid_t pid, int timeout, const char *desc, void *pr
12621263
child->timerid = 0;
12631264
child->timeout = FALSE;
12641265
child->privatedata = privatedata;
1265-
child->callback = callback;
1266+
child->exit_fn = exit_fn;
12661267
child->flags = flags;
12671268
child->desc = pcmk__str_copy(desc);
12681269

@@ -1284,10 +1285,9 @@ mainloop_child_add_with_flags(pid_t pid, int timeout, const char *desc, void *pr
12841285

12851286
void
12861287
mainloop_child_add(pid_t pid, int timeout, const char *desc, void *privatedata,
1287-
void (*callback)(mainloop_child_t *p, int core, int signo,
1288-
int exitcode))
1288+
pcmk__mainloop_child_exit_fn_t exit_fn)
12891289
{
1290-
mainloop_child_add_with_flags(pid, timeout, desc, privatedata, 0, callback);
1290+
mainloop_child_add_with_flags(pid, timeout, desc, privatedata, 0, exit_fn);
12911291
}
12921292

12931293
static gboolean

0 commit comments

Comments
 (0)