Invoke New Handler

  • Thread starter Frederick Gotham
  • Start date
F

Frederick Gotham

I see that the Standard provides "set_new_handler", but I don't see an
equivalent "get_new_handler" anywhere. Do we have to do something like the
following?

#include <new>

inline void (*GetCurrentNewHandler())()
{
struct Dummy { static void DummyFunc() {} };

void (*const p)() = std::set_new_handler(Dummy::DummyFunc);

std::set_new_handler(p);

return p;
}

inline void InvokeCurrentNewHandler()
{
GetCurrentNewHandler()();
}

I think GetCurrentNewHandler might no be thread-safe though, in the event
that "new" would be used in another thread in between the "set_new_handler"
calls.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top