XMutant Save/Restore

This commit is contained in:
Dr. Chat
2015-12-16 17:27:25 -06:00
committed by Ben Vanik
parent 5aff9d12ee
commit ab9fac9a98
3 changed files with 57 additions and 1 deletions

View File

@@ -16,6 +16,7 @@
namespace xe {
namespace kernel {
class XThread;
class XMutant : public XObject {
public:
@@ -31,8 +32,18 @@ class XMutant : public XObject {
xe::threading::WaitHandle* GetWaitHandle() override { return mutant_.get(); }
bool Save(ByteStream* stream) override;
static object_ref<XMutant> Restore(KernelState* kernel_state,
ByteStream* stream);
protected:
void WaitCallback() override;
private:
XMutant();
std::unique_ptr<xe::threading::Mutant> mutant_;
XThread* owning_thread_ = nullptr;
};
} // namespace kernel