Re: Avoid circular header file dependency
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-26T07:42:56Z
Lists: pgsql-hackers
On Sat, Apr 26, 2025 at 01:20:56AM -0400, Tom Lane wrote: > Bertrand Drouvot <bertranddrouvot.pg@gmail.com> writes: >> While working on wait events I faced some compilation issues due to circular >> header file dependency (introduced in fa88928470b5) between wait_event.h and >> wait_event_types.h. > > Ugh. I still carry the scars of cleaning up after a previous > circular-inclusion mess (cf 1609797c2), so I'm always worried about > introducing new cases. I don't have an opinion about whether this > specific refactoring is the best way to deal with this case, but > I definitely feel that we mustn't allow the situation to persist. This one is my fault, so I'll take care of it. Splitting the values of the wait classes into their own header makes sense, but the header name wait_class_constants.h sounds a bit off. Why not a simpler "wait_classes.h" that gets included by wait_event.h and wait_event_types.h? -- Michael
Commits
-
Remove circular #include's between wait_event.h and wait_event_types.h
- b225c5e76ed1 18.0 landed
-
Remove circular #include's between plpython.h and plpy_util.h.
- 2311f193ea7d 18.0 landed