|
| atomic< bool > | can_block {true} |
| | Whether we can block tasks.
|
| |
|
mutex | lock |
| | Global lock, acquired by calling Lock()
|
| |
|
vector< InterruptState > | blocked_tasks |
| | Tasks that are currently blocked.
|
| |
◆ Lock()
| unique_lock< mutex > duckdb::StateWithBlockableTasks::Lock |
( |
| ) |
|
|
inline |
21881 {
21882 return unique_lock<mutex>(
lock);
21883 }
mutex lock
Global lock, acquired by calling Lock()
Definition duckdb.hpp:21936
◆ PreventBlocking()
| void duckdb::StateWithBlockableTasks::PreventBlocking |
( |
const unique_lock< mutex > & |
guard | ) |
|
|
inline |
21885 {
21886 VerifyLock(guard);
21888 }
atomic< bool > can_block
Whether we can block tasks.
Definition duckdb.hpp:21934
◆ BlockTask()
| bool duckdb::StateWithBlockableTasks::BlockTask |
( |
const unique_lock< mutex > & |
guard, |
|
|
const InterruptState & |
interrupt_state |
|
) |
| |
|
inline |
Add a task to 'blocked_tasks' before returning SourceResultType::BLOCKED (must hold the lock)
21891 {
21892 VerifyLock(guard);
21895 return true;
21896 }
21897 return false;
21898 }
vector< InterruptState > blocked_tasks
Tasks that are currently blocked.
Definition duckdb.hpp:21938
◆ CanBlock()
| bool duckdb::StateWithBlockableTasks::CanBlock |
( |
const unique_lock< mutex > & |
guard | ) |
const |
|
inline |
21900 {
21901 VerifyLock(guard);
21903 }
◆ UnblockTasks()
| bool duckdb::StateWithBlockableTasks::UnblockTasks |
( |
const unique_lock< mutex > & |
guard | ) |
|
|
inline |
Unblock all tasks (must hold the lock)
21906 {
21907 VerifyLock(guard);
21909 return false;
21910 }
21912 entry.Callback();
21913 }
21915 return true;
21916 }
◆ BlockSink()
21918 {
21919 return BlockTask(guard, interrupt_state) ? SinkResultType::BLOCKED : SinkResultType::FINISHED;
21920 }
bool BlockTask(const unique_lock< mutex > &guard, const InterruptState &interrupt_state)
Add a task to 'blocked_tasks' before returning SourceResultType::BLOCKED (must hold the lock)
Definition duckdb.hpp:21891
◆ BlockSource()
21922 {
21923 return BlockTask(guard, interrupt_state) ? SourceResultType::BLOCKED : SourceResultType::FINISHED;
21924 }
◆ VerifyLock()
| void duckdb::StateWithBlockableTasks::VerifyLock |
( |
const unique_lock< mutex > & |
guard | ) |
const |
|
inline |
21926 {
21927#ifdef DEBUG
21929#endif
21930 }
bool RefersToSameObject(const reference< T > &a, const reference< T > &b)
Returns whether or not two reference wrappers refer to the same object.
Definition duckdb.hpp:2191
◆ can_block
| atomic<bool> duckdb::StateWithBlockableTasks::can_block {true} |
|
private |
Whether we can block tasks.
The documentation for this class was generated from the following file: