diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index e611e3266d..4f42676066 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -246,7 +246,7 @@ NoticeProcessor(void *arg, const char *message) * On Windows, currently this does not work, so control-C is less useful * there. */ -volatile bool sigint_interrupt_enabled = false; +volatile sig_atomic_t sigint_interrupt_enabled = false; sigjmp_buf sigint_interrupt_jmp; diff --git a/src/bin/psql/common.h b/src/bin/psql/common.h index d84c3a007c..f0820dd7d5 100644 --- a/src/bin/psql/common.h +++ b/src/bin/psql/common.h @@ -9,6 +9,7 @@ #define COMMON_H #include +#include #include "fe_utils/print.h" #include "fe_utils/psqlscan.h" @@ -22,7 +23,7 @@ extern char *psql_get_variable(const char *varname, PsqlScanQuoteType quote, extern void NoticeProcessor(void *arg, const char *message); -extern volatile bool sigint_interrupt_enabled; +extern volatile sig_atomic_t sigint_interrupt_enabled; extern sigjmp_buf sigint_interrupt_jmp; diff --git a/src/include/common/string.h b/src/include/common/string.h index 3d59172151..32a923cf23 100644 --- a/src/include/common/string.h +++ b/src/include/common/string.h @@ -10,13 +10,15 @@ #ifndef COMMON_STRING_H #define COMMON_STRING_H +#include + struct StringInfoData; /* avoid including stringinfo.h here */ typedef struct PromptInterruptContext { /* To avoid including here, jmpbuf is declared "void *" */ void *jmpbuf; /* existing longjmp buffer */ - volatile bool *enabled; /* flag that enables longjmp-on-interrupt */ + volatile sig_atomic_t *enabled; /* flag that enables longjmp-on-interrupt */ bool canceled; /* indicates whether cancellation occurred */ } PromptInterruptContext;