diff --git a/drivers/Timeout.cpp b/drivers/Timeout.cpp index 40c7d9f0533..6fc4a7e69bf 100644 --- a/drivers/Timeout.cpp +++ b/drivers/Timeout.cpp @@ -18,7 +18,9 @@ namespace mbed { void Timeout::handler() { - _function.call(); + Callback local = _function; + detach(); + local.call(); } } // namespace mbed