init repo.

This commit is contained in:
tqcq
2024-02-23 18:07:37 +08:00
commit 1a9e41d167
512 changed files with 191774 additions and 0 deletions

View 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

View 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