Mark ParallelMessagePending as sig_atomic_t
authorMichael Paquier <[email protected]>
Tue, 27 Sep 2022 00:29:56 +0000 (09:29 +0900)
committerMichael Paquier <[email protected]>
Tue, 27 Sep 2022 00:29:56 +0000 (09:29 +0900)
ParallelMessagePending was previously marked as a boolean which should
be fine on modern platforms, but the C standard recommends the use of
sig_atomic_t for variables manipulated in signal handlers.

Author: Hayato Kuroda
Discussion: https://postgr.es/m/TYAPR01MB58667C15A95A234720F4F876F5529@TYAPR01MB5866.jpnprd01.prod.outlook.com

src/backend/access/transam/parallel.c
src/include/access/parallel.h

index bc93101ff7142dc5b215ce0d9bef7e57cc43dd5d..8cba8882239ae7e5215b6ebd1ff203a742a62462 100644 (file)
@@ -113,7 +113,7 @@ typedef struct FixedParallelState
 int            ParallelWorkerNumber = -1;
 
 /* Is there a parallel message pending which we need to receive? */
-volatile bool ParallelMessagePending = false;
+volatile sig_atomic_t ParallelMessagePending = false;
 
 /* Are we initializing a parallel worker? */
 bool       InitializingParallelWorker = false;
index 983841d45e8bc3b936322f95cc2b7c947ec17ad8..1ec8e33af45b4cbfb9e42e03b46656a94c75cbc2 100644 (file)
@@ -54,7 +54,7 @@ typedef struct ParallelWorkerContext
    shm_toc    *toc;
 } ParallelWorkerContext;
 
-extern PGDLLIMPORT volatile bool ParallelMessagePending;
+extern PGDLLIMPORT volatile sig_atomic_t ParallelMessagePending;
 extern PGDLLIMPORT int ParallelWorkerNumber;
 extern PGDLLIMPORT bool InitializingParallelWorker;