1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:27:35 +00:00

Kernel: Move Thread::m_joinee_exit_value into the JoinBlocker

There's no need for this to be a permanent Thread member. Just use a
reference in the JoinBlocker instead.
This commit is contained in:
Andreas Kling 2019-11-14 21:04:34 +01:00
parent 69efa3f630
commit cb5021419e
4 changed files with 10 additions and 7 deletions

View file

@ -97,12 +97,14 @@ public:
class JoinBlocker final : public Blocker {
public:
explicit JoinBlocker(Thread& joinee);
explicit JoinBlocker(Thread& joinee, void*& joinee_exit_value);
virtual bool should_unblock(Thread&, time_t now_s, long us) override;
virtual const char* state_string() const override { return "Joining"; }
void set_joinee_exit_value(void* value) { m_joinee_exit_value = value; }
private:
Thread& m_joinee;
void*& m_joinee_exit_value;
};
class FileDescriptionBlocker : public Blocker {
@ -367,10 +369,8 @@ private:
SignalActionData m_signal_action_data[32];
Blocker* m_blocker { nullptr };
// FIXME: Some of these could probably live in the JoinBlocker object instead.
Thread* m_joiner { nullptr };
Thread* m_joinee { nullptr };
void* m_joinee_exit_value { nullptr };
void* m_exit_value { nullptr };
FPUState* m_fpu_state { nullptr };