From fe9dc913b40588a1227bb4c149c158ea6ffe217b Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Sat, 21 Nov 2015 21:14:11 +0200 Subject: [PATCH] unref udp if exists --- libraries/ArduinoOTA/ArduinoOTA.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libraries/ArduinoOTA/ArduinoOTA.cpp b/libraries/ArduinoOTA/ArduinoOTA.cpp index ed2421a8d..9b55733bb 100644 --- a/libraries/ArduinoOTA/ArduinoOTA.cpp +++ b/libraries/ArduinoOTA/ArduinoOTA.cpp @@ -34,6 +34,13 @@ ArduinoOTAClass::ArduinoOTAClass() { } +ArduinoOTAClass::~ArduinoOTAClass(){ + if(_udp_ota){ + _udp_ota->unref(); + _udp_ota = 0; + } +} + void ArduinoOTAClass::onStart(OTA_CALLBACK(fn)) { _start_callback = fn; } @@ -50,9 +57,6 @@ void ArduinoOTAClass::onError(OTA_CALLBACK_ERROR(fn)) { _error_callback = fn; } -ArduinoOTAClass::~ArduinoOTAClass() { -} - void ArduinoOTAClass::setPort(uint16_t port) { if (!_initialized && !_port && port) { _port = port; @@ -84,6 +88,11 @@ void ArduinoOTAClass::begin() { _port = 8266; } + if(_udp_ota){ + _udp_ota->unref(); + _udp_ota = 0; + } + _udp_ota = new UdpContext; _udp_ota->ref();