diff --git a/kernel/thread/thread.cc b/kernel/thread/thread.cc index 2ae3b13..8e20b97 100644 --- a/kernel/thread/thread.cc +++ b/kernel/thread/thread.cc @@ -52,7 +52,7 @@ void Thread::resume(Thread *next) { context_switch(&next->context, &context); } -void* operator new(size_t sz) +void* Thread::operator new(size_t sz) noexcept { if (sz == 0) ++sz; // avoid std::malloc(0) which may return nullptr on success diff --git a/kernel/thread/thread.h b/kernel/thread/thread.h index 26199d1..d4c2c65 100644 --- a/kernel/thread/thread.h +++ b/kernel/thread/thread.h @@ -69,6 +69,7 @@ class Thread { void* user; void* isr; } StackPointer; + void* operator new ( size_t count )noexcept; /*! \brief Unique thread id */ const size_t id; @@ -118,5 +119,4 @@ class Thread { // - void* operator new ( size_t count ); };