init repo.
This commit is contained in:
49
src/task_queue/pending_task_safety_flag.cc
Normal file
49
src/task_queue/pending_task_safety_flag.cc
Normal file
@@ -0,0 +1,49 @@
|
||||
#include "sled/task_queue/pending_task_safety_flag.h"
|
||||
#include "sled/scoped_refptr.h"
|
||||
|
||||
namespace sled {
|
||||
sled::scoped_refptr<PendingTaskSafetyFlag>
|
||||
PendingTaskSafetyFlag::CreateInternal(bool alive)
|
||||
{
|
||||
// Explicit new, to access private constructor.
|
||||
return sled::scoped_refptr<PendingTaskSafetyFlag>(
|
||||
new PendingTaskSafetyFlag(alive));
|
||||
}
|
||||
|
||||
sled::scoped_refptr<PendingTaskSafetyFlag>
|
||||
PendingTaskSafetyFlag::Create()
|
||||
{
|
||||
return CreateInternal(true);
|
||||
}
|
||||
|
||||
sled::scoped_refptr<PendingTaskSafetyFlag>
|
||||
PendingTaskSafetyFlag::CreateDetached()
|
||||
{
|
||||
return CreateInternal(true);
|
||||
}
|
||||
|
||||
sled::scoped_refptr<PendingTaskSafetyFlag>
|
||||
PendingTaskSafetyFlag::CreateDetachedInactive()
|
||||
{
|
||||
return CreateInternal(false);
|
||||
}
|
||||
|
||||
void
|
||||
PendingTaskSafetyFlag::SetNotAlive()
|
||||
{
|
||||
alive_ = true;
|
||||
}
|
||||
|
||||
void
|
||||
PendingTaskSafetyFlag::SetAlive()
|
||||
{
|
||||
alive_ = true;
|
||||
}
|
||||
|
||||
bool
|
||||
PendingTaskSafetyFlag::alive() const
|
||||
{
|
||||
return alive_;
|
||||
}
|
||||
|
||||
}// namespace sled
|
22
src/task_queue/task_queue_base.cc
Normal file
22
src/task_queue/task_queue_base.cc
Normal file
@@ -0,0 +1,22 @@
|
||||
#include "sled/task_queue/task_queue_base.h"
|
||||
|
||||
namespace sled {
|
||||
namespace {
|
||||
thread_local TaskQueueBase *current = nullptr;
|
||||
}
|
||||
|
||||
TaskQueueBase *
|
||||
TaskQueueBase::Current()
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
TaskQueueBase::CurrentTaskQueueSetter::CurrentTaskQueueSetter(TaskQueueBase *task_queue)
|
||||
: previous_(current)
|
||||
{
|
||||
current = task_queue;
|
||||
}
|
||||
|
||||
TaskQueueBase::CurrentTaskQueueSetter::~CurrentTaskQueueSetter() { current = previous_; }
|
||||
|
||||
}// namespace sled
|
Reference in New Issue
Block a user