1 /*-------------------------------------------------------------------------
4 * Asynchronous notification: NOTIFY, LISTEN, UNLISTEN
6 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
11 *-------------------------------------------------------------------------
16 extern bool Trace_notify
;
18 /* notify-related SQL statements */
19 extern void Async_Notify(const char *relname
);
20 extern void Async_Listen(const char *relname
);
21 extern void Async_Unlisten(const char *relname
);
22 extern void Async_UnlistenAll(void);
24 /* perform (or cancel) outbound notify processing at transaction commit */
25 extern void AtCommit_Notify(void);
26 extern void AtAbort_Notify(void);
27 extern void AtSubStart_Notify(void);
28 extern void AtSubCommit_Notify(void);
29 extern void AtSubAbort_Notify(void);
30 extern void AtPrepare_Notify(void);
32 /* signal handler for inbound notifies (SIGUSR2) */
33 extern void NotifyInterruptHandler(SIGNAL_ARGS
);
36 * enable/disable processing of inbound notifies directly from signal handler.
37 * The enable routine first performs processing of any inbound notifies that
38 * have occurred since the last disable.
40 extern void EnableNotifyInterrupt(void);
41 extern bool DisableNotifyInterrupt(void);
43 extern void notify_twophase_postcommit(TransactionId xid
, uint16 info
,
44 void *recdata
, uint32 len
);