Skip to content

Commit 7e957cb

Browse files
committed
postmaster: Introduce variadic btmask_all_except()
Upcoming patches would otherwise need btmask_all_except3(). Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Discussion: https://postgr.es/m/w3z6w3g4aovivs735nk4pzjhmegntecesm3kktpebchegm5o53@aonnq2kn27xi
1 parent 40d4031 commit 7e957cb

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

src/backend/postmaster/postmaster.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -164,23 +164,20 @@ btmask_del(BackendTypeMask mask, BackendType t)
164164
}
165165

166166
static inline BackendTypeMask
167-
btmask_all_except(BackendType t)
167+
btmask_all_except_n(int nargs, BackendType *t)
168168
{
169169
BackendTypeMask mask = BTYPE_MASK_ALL;
170170

171-
mask = btmask_del(mask, t);
171+
for (int i = 0; i < nargs; i++)
172+
mask = btmask_del(mask, t[i]);
172173
return mask;
173174
}
174175

175-
static inline BackendTypeMask
176-
btmask_all_except2(BackendType t1, BackendType t2)
177-
{
178-
BackendTypeMask mask = BTYPE_MASK_ALL;
179-
180-
mask = btmask_del(mask, t1);
181-
mask = btmask_del(mask, t2);
182-
return mask;
183-
}
176+
#define btmask_all_except(...) \
177+
btmask_all_except_n( \
178+
lengthof(((BackendType[]){__VA_ARGS__})), \
179+
(BackendType[]){__VA_ARGS__} \
180+
)
184181

185182
static inline bool
186183
btmask_contains(BackendTypeMask mask, BackendType t)
@@ -2979,7 +2976,7 @@ PostmasterStateMachine(void)
29792976
* left by now anyway; what we're really waiting for is walsenders and
29802977
* archiver.
29812978
*/
2982-
if (CountChildren(btmask_all_except2(B_LOGGER, B_DEAD_END_BACKEND)) == 0)
2979+
if (CountChildren(btmask_all_except(B_LOGGER, B_DEAD_END_BACKEND)) == 0)
29832980
{
29842981
UpdatePMState(PM_WAIT_DEAD_END);
29852982
ConfigurePostmasterWaitSet(false);

0 commit comments

Comments
 (0)