PostgreSQL Source Code git master
|
#include "postgres.h"
#include "libpq/pqformat.h"
#include "libpq/pqmq.h"
#include "pgstat.h"
#include "postmaster/interrupt.h"
#include "replication/logicallauncher.h"
#include "replication/logicalworker.h"
#include "replication/origin.h"
#include "replication/worker_internal.h"
#include "storage/ipc.h"
#include "storage/lmgr.h"
#include "tcop/tcopprot.h"
#include "utils/inval.h"
#include "utils/memutils.h"
#include "utils/syscache.h"
Go to the source code of this file.
Data Structures | |
struct | ParallelApplyWorkerEntry |
Macros | |
#define | PG_LOGICAL_APPLY_SHM_MAGIC 0x787ca067 |
#define | PARALLEL_APPLY_KEY_SHARED 1 |
#define | PARALLEL_APPLY_KEY_MQ 2 |
#define | PARALLEL_APPLY_KEY_ERROR_QUEUE 3 |
#define | DSM_QUEUE_SIZE (16 * 1024 * 1024) |
#define | DSM_ERROR_QUEUE_SIZE (16 * 1024) |
#define | SIZE_STATS_MESSAGE (2 * sizeof(XLogRecPtr) + sizeof(TimestampTz)) |
#define | PARALLEL_APPLY_LOCK_STREAM 0 |
#define | PARALLEL_APPLY_LOCK_XACT 1 |
#define | SHM_SEND_RETRY_INTERVAL_MS 1000 |
#define | SHM_SEND_TIMEOUT_MS (10000 - SHM_SEND_RETRY_INTERVAL_MS) |
Typedefs | |
typedef struct ParallelApplyWorkerEntry | ParallelApplyWorkerEntry |
Variables | |
static HTAB * | ParallelApplyTxnHash = NULL |
static List * | ParallelApplyWorkerPool = NIL |
ParallelApplyWorkerShared * | MyParallelShared = NULL |
volatile sig_atomic_t | ParallelApplyMessagePending = false |
static ParallelApplyWorkerInfo * | stream_apply_worker = NULL |
static List * | subxactlist = NIL |
#define DSM_ERROR_QUEUE_SIZE (16 * 1024) |
Definition at line 195 of file applyparallelworker.c.
#define DSM_QUEUE_SIZE (16 * 1024 * 1024) |
Definition at line 187 of file applyparallelworker.c.
#define PARALLEL_APPLY_KEY_ERROR_QUEUE 3 |
Definition at line 184 of file applyparallelworker.c.
#define PARALLEL_APPLY_KEY_MQ 2 |
Definition at line 183 of file applyparallelworker.c.
#define PARALLEL_APPLY_KEY_SHARED 1 |
Definition at line 182 of file applyparallelworker.c.
#define PARALLEL_APPLY_LOCK_STREAM 0 |
Definition at line 209 of file applyparallelworker.c.
#define PARALLEL_APPLY_LOCK_XACT 1 |
Definition at line 210 of file applyparallelworker.c.
#define PG_LOGICAL_APPLY_SHM_MAGIC 0x787ca067 |
Definition at line 175 of file applyparallelworker.c.
#define SHM_SEND_RETRY_INTERVAL_MS 1000 |
#define SHM_SEND_TIMEOUT_MS (10000 - SHM_SEND_RETRY_INTERVAL_MS) |
#define SIZE_STATS_MESSAGE (2 * sizeof(XLogRecPtr) + sizeof(TimestampTz)) |
Definition at line 203 of file applyparallelworker.c.
typedef struct ParallelApplyWorkerEntry ParallelApplyWorkerEntry |
|
static |
Definition at line 1001 of file applyparallelworker.c.
References _, apply_error_context_stack, ErrorData::context, elog, ereport, errcode(), errcontext, errmsg(), ERROR, error_context_stack, StringInfoData::len, pq_getmsgbyte(), pq_parse_errornotice(), psprintf(), and pstrdup().
Referenced by HandleParallelApplyMessages().
void HandleParallelApplyMessageInterrupt | ( | void | ) |
Definition at line 989 of file applyparallelworker.c.
References InterruptPending, MyLatch, ParallelApplyMessagePending, and SetLatch().
Referenced by procsignal_sigusr1_handler().
void HandleParallelApplyMessages | ( | void | ) |
Definition at line 1063 of file applyparallelworker.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, appendBinaryStringInfo(), StringInfoData::data, data, ereport, errcode(), errmsg(), ERROR, ParallelApplyWorkerInfo::error_mq_handle, HandleParallelApplyMessage(), HOLD_INTERRUPTS, initStringInfo(), lfirst, MemoryContextReset(), MemoryContextSwitchTo(), ParallelApplyMessagePending, ParallelApplyWorkerPool, pfree(), res, RESUME_INTERRUPTS, shm_mq_receive(), SHM_MQ_SUCCESS, SHM_MQ_WOULD_BLOCK, and TopMemoryContext.
Referenced by ProcessInterrupts().
|
static |
Definition at line 734 of file applyparallelworker.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, apply_dispatch(), apply_error_callback(), ApplyContext, ApplyMessageContext, Assert, ErrorContextCallback::callback, CurrentMemoryContext, StringInfoData::cursor, data, elog, ereport, errcode(), errmsg(), ERROR, error_context_stack, initReadOnlyStringInfo(), len, MemoryContextReset(), MemoryContextSwitchTo(), MyLatch, pa_process_spooled_messages_if_required(), pq_getmsgbyte(), ErrorContextCallback::previous, ProcessParallelApplyInterrupts(), ResetLatch(), SHM_MQ_DETACHED, shm_mq_receive(), SHM_MQ_SUCCESS, SHM_MQ_WOULD_BLOCK, SIZE_STATS_MESSAGE, WaitLatch(), WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, and WL_TIMEOUT.
Referenced by ParallelApplyWorkerMain().
void pa_allocate_worker | ( | TransactionId | xid | ) |
Definition at line 470 of file applyparallelworker.c.
References ApplyContext, ctl, elog, ERROR, HASH_BLOBS, HASH_CONTEXT, hash_create(), HASH_ELEM, HASH_ENTER, hash_search(), ParallelApplyWorkerInfo::in_use, MemSet, ParallelApplyWorkerShared::mutex, pa_can_start(), pa_launch_parallel_worker(), PARALLEL_TRANS_UNKNOWN, ParallelApplyTxnHash, ParallelApplyWorkerInfo::serialize_changes, ParallelApplyWorkerInfo::shared, SpinLockAcquire, SpinLockRelease, ParallelApplyWorkerEntry::winfo, ParallelApplyWorkerShared::xact_state, and ParallelApplyWorkerShared::xid.
Referenced by apply_handle_stream_start().
|
static |
Definition at line 265 of file applyparallelworker.c.
References AllTablesyncsReady(), am_leader_apply_worker(), maybe_reread_subscription(), MyLogicalRepWorker, MySubscription, LogicalRepWorker::parallel_apply, Subscription::skiplsn, and XLogRecPtrIsInvalid.
Referenced by pa_allocate_worker().
void pa_decr_and_wait_stream_block | ( | void | ) |
Definition at line 1591 of file applyparallelworker.c.
References AccessShareLock, am_parallel_apply_worker(), Assert, elog, ERROR, MyParallelShared, pa_has_spooled_message_pending(), pa_lock_stream(), pa_unlock_stream(), ParallelApplyWorkerShared::pending_stream_count, pg_atomic_read_u32(), pg_atomic_sub_fetch_u32(), and ParallelApplyWorkerShared::xid.
Referenced by apply_handle_stream_abort(), and apply_handle_stream_stop().
void pa_detach_all_error_mq | ( | void | ) |
Definition at line 622 of file applyparallelworker.c.
References ParallelApplyWorkerInfo::error_mq_handle, lfirst, ParallelApplyWorkerPool, and shm_mq_detach().
Referenced by logicalrep_worker_detach().
ParallelApplyWorkerInfo * pa_find_worker | ( | TransactionId | xid | ) |
Definition at line 518 of file applyparallelworker.c.
References Assert, HASH_FIND, hash_search(), ParallelApplyWorkerInfo::in_use, ParallelApplyTxnHash, stream_apply_worker, TransactionIdIsValid, and ParallelApplyWorkerEntry::winfo.
Referenced by get_transaction_apply_action().
|
static |
Definition at line 556 of file applyparallelworker.c.
References am_parallel_apply_worker(), Assert, elog, ERROR, HASH_REMOVE, hash_search(), ParallelApplyWorkerInfo::in_use, list_length(), logicalrep_pa_worker_stop(), max_parallel_apply_workers_per_subscription, pa_free_worker_info(), pa_get_xact_state(), PARALLEL_TRANS_FINISHED, ParallelApplyTxnHash, ParallelApplyWorkerPool, ParallelApplyWorkerInfo::serialize_changes, ParallelApplyWorkerInfo::shared, and ParallelApplyWorkerShared::xid.
Referenced by pa_xact_finish().
|
static |
Definition at line 595 of file applyparallelworker.c.
References Assert, dsm_detach(), ParallelApplyWorkerInfo::dsm_seg, ParallelApplyWorkerInfo::error_mq_handle, list_delete_ptr(), ParallelApplyWorkerInfo::mq_handle, MyLogicalRepWorker, ParallelApplyWorkerPool, pfree(), ParallelApplyWorkerInfo::serialize_changes, ParallelApplyWorkerInfo::shared, shm_mq_detach(), stream_cleanup_files(), LogicalRepWorker::subid, and ParallelApplyWorkerShared::xid.
Referenced by pa_free_worker(), and pa_launch_parallel_worker().
|
static |
Definition at line 1518 of file applyparallelworker.c.
References am_parallel_apply_worker(), Assert, ParallelApplyWorkerShared::fileset_state, ParallelApplyWorkerShared::mutex, MyParallelShared, SpinLockAcquire, and SpinLockRelease.
Referenced by pa_has_spooled_message_pending(), and pa_process_spooled_messages_if_required().
|
static |
Definition at line 1319 of file applyparallelworker.c.
References ParallelApplyWorkerShared::mutex, SpinLockAcquire, SpinLockRelease, and ParallelApplyWorkerShared::xact_state.
Referenced by pa_free_worker(), pa_wait_for_xact_finish(), and pa_wait_for_xact_state().
|
static |
Definition at line 642 of file applyparallelworker.c.
References FS_EMPTY, and pa_get_fileset_state().
Referenced by pa_decr_and_wait_stream_block().
|
static |
Definition at line 404 of file applyparallelworker.c.
References ApplyContext, LogicalRepWorker::dbid, ParallelApplyWorkerInfo::dsm_seg, dsm_segment_handle(), ParallelApplyWorkerInfo::in_use, InvalidOid, lappend(), lfirst, logicalrep_worker_launch(), MemoryContextSwitchTo(), MyLogicalRepWorker, MySubscription, Subscription::name, Subscription::oid, pa_free_worker_info(), pa_setup_dsm(), palloc0(), ParallelApplyWorkerPool, pfree(), LogicalRepWorker::userid, and WORKERTYPE_PARALLEL_APPLY.
Referenced by pa_allocate_worker().
void pa_lock_stream | ( | TransactionId | xid, |
LOCKMODE | lockmode | ||
) |
Definition at line 1540 of file applyparallelworker.c.
References LockApplyTransactionForSession(), MyLogicalRepWorker, PARALLEL_APPLY_LOCK_STREAM, and LogicalRepWorker::subid.
Referenced by apply_handle_stream_abort(), apply_handle_stream_stop(), pa_decr_and_wait_stream_block(), pa_process_spooled_messages_if_required(), and pa_switch_to_partial_serialize().
void pa_lock_transaction | ( | TransactionId | xid, |
LOCKMODE | lockmode | ||
) |
Definition at line 1573 of file applyparallelworker.c.
References LockApplyTransactionForSession(), MyLogicalRepWorker, PARALLEL_APPLY_LOCK_XACT, and LogicalRepWorker::subid.
Referenced by apply_handle_stream_start(), and pa_wait_for_xact_finish().
|
static |
Definition at line 658 of file applyparallelworker.c.
References AccessShareLock, apply_spooled_messages(), ParallelApplyWorkerShared::fileset, FS_EMPTY, FS_READY, FS_SERIALIZE_DONE, FS_SERIALIZE_IN_PROGRESS, InvalidXLogRecPtr, MyParallelShared, pa_get_fileset_state(), pa_lock_stream(), pa_set_fileset_state(), pa_unlock_stream(), and ParallelApplyWorkerShared::xid.
Referenced by LogicalParallelApplyLoop().
void pa_reset_subtrans | ( | void | ) |
Definition at line 1402 of file applyparallelworker.c.
References NIL, and subxactlist.
Referenced by apply_handle_stream_commit(), apply_handle_stream_prepare(), and pa_stream_abort().
|
static |
Definition at line 1348 of file applyparallelworker.c.
References snprintf.
Referenced by pa_start_subtrans(), and pa_stream_abort().
bool pa_send_data | ( | ParallelApplyWorkerInfo * | winfo, |
Size | nbytes, | ||
const void * | data | ||
) |
Definition at line 1146 of file applyparallelworker.c.
References Assert, CHECK_FOR_INTERRUPTS, data, DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE, debug_logical_replication_streaming, ereport, errcode(), errmsg(), ERROR, GetCurrentTimestamp(), IsTransactionState(), ParallelApplyWorkerInfo::mq_handle, MyLatch, ResetLatch(), ParallelApplyWorkerInfo::serialize_changes, SHM_MQ_DETACHED, shm_mq_send(), SHM_MQ_SUCCESS, SHM_MQ_WOULD_BLOCK, SHM_SEND_RETRY_INTERVAL_MS, SHM_SEND_TIMEOUT_MS, TimestampDifferenceExceeds(), unlikely, WaitLatch(), WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, and WL_TIMEOUT.
Referenced by apply_handle_stream_abort(), apply_handle_stream_commit(), apply_handle_stream_prepare(), apply_handle_stream_start(), apply_handle_stream_stop(), and handle_streamed_transaction().
void pa_set_fileset_state | ( | ParallelApplyWorkerShared * | wshared, |
PartialFileSetState | fileset_state | ||
) |
Definition at line 1498 of file applyparallelworker.c.
References am_leader_apply_worker(), Assert, ParallelApplyWorkerShared::fileset, ParallelApplyWorkerShared::fileset_state, FS_SERIALIZE_DONE, ParallelApplyWorkerShared::mutex, MyLogicalRepWorker, SpinLockAcquire, SpinLockRelease, and LogicalRepWorker::stream_fileset.
Referenced by apply_handle_stream_abort(), apply_handle_stream_commit(), apply_handle_stream_prepare(), pa_process_spooled_messages_if_required(), and pa_switch_to_partial_serialize().
void pa_set_stream_apply_worker | ( | ParallelApplyWorkerInfo * | winfo | ) |
Definition at line 1334 of file applyparallelworker.c.
References stream_apply_worker.
Referenced by apply_handle_stream_start(), and apply_handle_stream_stop().
void pa_set_xact_state | ( | ParallelApplyWorkerShared * | wshared, |
ParallelTransState | xact_state | ||
) |
Definition at line 1307 of file applyparallelworker.c.
References ParallelApplyWorkerShared::mutex, SpinLockAcquire, SpinLockRelease, and ParallelApplyWorkerShared::xact_state.
Referenced by apply_handle_stream_commit(), apply_handle_stream_prepare(), apply_handle_stream_start(), and pa_stream_abort().
|
static |
Definition at line 327 of file applyparallelworker.c.
References dsm_create(), DSM_ERROR_QUEUE_SIZE, DSM_QUEUE_SIZE, ParallelApplyWorkerInfo::dsm_seg, dsm_segment_address(), ParallelApplyWorkerInfo::error_mq_handle, ParallelApplyWorkerShared::fileset_state, FS_EMPTY, InvalidXLogRecPtr, ParallelApplyWorkerShared::last_commit_end, ParallelApplyWorkerInfo::mq_handle, ParallelApplyWorkerShared::mutex, MyProc, PARALLEL_APPLY_KEY_ERROR_QUEUE, PARALLEL_APPLY_KEY_MQ, PARALLEL_APPLY_KEY_SHARED, PARALLEL_TRANS_UNKNOWN, ParallelApplyWorkerShared::pending_stream_count, pg_atomic_init_u32(), PG_LOGICAL_APPLY_SHM_MAGIC, ParallelApplyWorkerInfo::shared, shm_mq_attach(), shm_mq_create(), shm_mq_set_receiver(), shm_mq_set_sender(), shm_toc_allocate(), shm_toc_create(), shm_toc_estimate(), shm_toc_estimate_chunk, shm_toc_estimate_keys, shm_toc_initialize_estimator, shm_toc_insert(), SpinLockInit, and ParallelApplyWorkerShared::xact_state.
Referenced by pa_launch_parallel_worker().
|
static |
Definition at line 844 of file applyparallelworker.c.
References arg, DatumGetPointer(), dsm_detach(), INVALID_PROC_NUMBER, LogicalRepWorker::leader_pid, MyLogicalRepWorker, PROCSIG_PARALLEL_APPLY_MESSAGE, and SendProcSignal().
Referenced by ParallelApplyWorkerMain().
void pa_start_subtrans | ( | TransactionId | current_xid, |
TransactionId | top_xid | ||
) |
Definition at line 1362 of file applyparallelworker.c.
References BeginTransactionBlock(), CommitTransactionCommand(), DEBUG1, DefineSavepoint(), elog, IsTransactionBlock(), IsTransactionState(), lappend_xid(), list_member_xid(), MemoryContextSwitchTo(), MySubscription, NAMEDATALEN, Subscription::oid, pa_savepoint_name(), StartTransactionCommand(), subxactlist, and TopTransactionContext.
Referenced by handle_streamed_transaction().
void pa_stream_abort | ( | LogicalRepStreamAbortData * | abort_data | ) |
Definition at line 1416 of file applyparallelworker.c.
References LogicalRepStreamAbortData::abort_lsn, LogicalRepStreamAbortData::abort_time, AbortCurrentTransaction(), AccessExclusiveLock, CommitTransactionCommand(), DEBUG1, elog, EndTransactionBlock(), i, IsTransactionBlock(), lfirst_xid, list_length(), list_nth_cell(), list_truncate(), MyParallelShared, MySubscription, NAMEDATALEN, Subscription::oid, pa_reset_subtrans(), pa_savepoint_name(), pa_set_xact_state(), pa_unlock_transaction(), PARALLEL_TRANS_FINISHED, pgstat_report_activity(), replorigin_session_origin_lsn, replorigin_session_origin_timestamp, RollbackToSavepoint(), STATE_IDLE, subxactlist, LogicalRepStreamAbortData::subxid, and LogicalRepStreamAbortData::xid.
Referenced by apply_handle_stream_abort().
void pa_switch_to_partial_serialize | ( | ParallelApplyWorkerInfo * | winfo, |
bool | stream_locked | ||
) |
Definition at line 1211 of file applyparallelworker.c.
References AccessExclusiveLock, ereport, errmsg(), FS_SERIALIZE_IN_PROGRESS, LOG, pa_lock_stream(), pa_set_fileset_state(), ParallelApplyWorkerInfo::serialize_changes, ParallelApplyWorkerInfo::shared, stream_start_internal(), and ParallelApplyWorkerShared::xid.
Referenced by apply_handle_stream_abort(), apply_handle_stream_commit(), apply_handle_stream_prepare(), apply_handle_stream_start(), apply_handle_stream_stop(), and handle_streamed_transaction().
void pa_unlock_stream | ( | TransactionId | xid, |
LOCKMODE | lockmode | ||
) |
Definition at line 1547 of file applyparallelworker.c.
References MyLogicalRepWorker, PARALLEL_APPLY_LOCK_STREAM, LogicalRepWorker::subid, and UnlockApplyTransactionForSession().
Referenced by apply_handle_stream_abort(), apply_handle_stream_start(), pa_decr_and_wait_stream_block(), pa_process_spooled_messages_if_required(), and pa_xact_finish().
void pa_unlock_transaction | ( | TransactionId | xid, |
LOCKMODE | lockmode | ||
) |
Definition at line 1580 of file applyparallelworker.c.
References MyLogicalRepWorker, PARALLEL_APPLY_LOCK_XACT, LogicalRepWorker::subid, and UnlockApplyTransactionForSession().
Referenced by apply_handle_stream_commit(), apply_handle_stream_prepare(), pa_stream_abort(), and pa_wait_for_xact_finish().
|
static |
Definition at line 1274 of file applyparallelworker.c.
References AccessShareLock, ereport, errcode(), errmsg(), ERROR, pa_get_xact_state(), pa_lock_transaction(), pa_unlock_transaction(), pa_wait_for_xact_state(), PARALLEL_TRANS_FINISHED, PARALLEL_TRANS_STARTED, ParallelApplyWorkerInfo::shared, and ParallelApplyWorkerShared::xid.
Referenced by pa_xact_finish().
|
static |
Definition at line 1244 of file applyparallelworker.c.
References CHECK_FOR_INTERRUPTS, MyLatch, pa_get_xact_state(), ResetLatch(), ParallelApplyWorkerInfo::shared, WaitLatch(), WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, and WL_TIMEOUT.
Referenced by pa_wait_for_xact_finish().
void pa_xact_finish | ( | ParallelApplyWorkerInfo * | winfo, |
XLogRecPtr | remote_lsn | ||
) |
Definition at line 1618 of file applyparallelworker.c.
References AccessExclusiveLock, am_leader_apply_worker(), Assert, ParallelApplyWorkerShared::last_commit_end, pa_free_worker(), pa_unlock_stream(), pa_wait_for_xact_finish(), ParallelApplyWorkerInfo::shared, store_flush_position(), ParallelApplyWorkerShared::xid, and XLogRecPtrIsInvalid.
Referenced by apply_handle_stream_abort(), apply_handle_stream_commit(), and apply_handle_stream_prepare().
void ParallelApplyWorkerMain | ( | Datum | main_arg | ) |
Definition at line 857 of file applyparallelworker.c.
References Assert, BackgroundWorkerUnblockSignals(), before_shmem_exit(), BackgroundWorker::bgw_extra, CacheRegisterSyscacheCallback(), CommitTransactionCommand(), DatumGetInt32(), die, dsm_attach(), dsm_segment_address(), ereport, errcode(), errmsg(), ERROR, LogicalRepWorker::generation, InitializeLogRepWorker(), InitializingApplyWorker, INVALID_PROC_NUMBER, invalidate_syncing_table_states(), InvalidOid, LogicalRepWorker::last_recv_time, LogicalRepWorker::last_send_time, LogicalRepWorker::leader_pid, LogicalParallelApplyLoop(), logicalrep_worker_attach(), ParallelApplyWorkerShared::logicalrep_worker_generation, ParallelApplyWorkerShared::logicalrep_worker_slot_no, ParallelApplyWorkerShared::mutex, MyBgworkerEntry, MyLogicalRepWorker, MyParallelShared, MyProc, MySubscription, NAMEDATALEN, Subscription::oid, pa_shutdown(), PARALLEL_APPLY_KEY_ERROR_QUEUE, PARALLEL_APPLY_KEY_MQ, PARALLEL_APPLY_KEY_SHARED, PG_LOGICAL_APPLY_SHM_MAGIC, PointerGetDatum(), pq_redirect_to_shm_mq(), pq_set_parallel_leader(), pqsignal(), ReplicationOriginNameForLogicalRep(), replorigin_by_name(), replorigin_session_origin, replorigin_session_setup(), LogicalRepWorker::reply_time, set_apply_error_context_origin(), shm_mq_attach(), shm_mq_set_receiver(), shm_mq_set_sender(), shm_toc_attach(), shm_toc_lookup(), SIGHUP, SignalHandlerForConfigReload(), SignalHandlerForShutdownRequest(), SpinLockAcquire, SpinLockRelease, and StartTransactionCommand().
|
static |
Definition at line 712 of file applyparallelworker.c.
References CHECK_FOR_INTERRUPTS, ConfigReloadPending, ereport, errmsg(), LOG, MySubscription, Subscription::name, PGC_SIGHUP, proc_exit(), ProcessConfigFile(), and ShutdownRequestPending.
Referenced by LogicalParallelApplyLoop().
ParallelApplyWorkerShared* MyParallelShared = NULL |
Definition at line 239 of file applyparallelworker.c.
Referenced by apply_handle_stream_commit(), apply_handle_stream_prepare(), apply_handle_stream_start(), pa_decr_and_wait_stream_block(), pa_get_fileset_state(), pa_process_spooled_messages_if_required(), pa_stream_abort(), and ParallelApplyWorkerMain().
volatile sig_atomic_t ParallelApplyMessagePending = false |
Definition at line 245 of file applyparallelworker.c.
Referenced by HandleParallelApplyMessageInterrupt(), HandleParallelApplyMessages(), and ProcessInterrupts().
|
static |
Definition at line 225 of file applyparallelworker.c.
Referenced by pa_allocate_worker(), pa_find_worker(), and pa_free_worker().
Definition at line 234 of file applyparallelworker.c.
Referenced by HandleParallelApplyMessages(), pa_detach_all_error_mq(), pa_free_worker(), pa_free_worker_info(), and pa_launch_parallel_worker().
|
static |
Definition at line 252 of file applyparallelworker.c.
Referenced by pa_find_worker(), and pa_set_stream_apply_worker().
Definition at line 255 of file applyparallelworker.c.
Referenced by pa_reset_subtrans(), pa_start_subtrans(), and pa_stream_abort().