aboutsummaryrefslogtreecommitdiff
path: root/libraries/Ethernet
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Ethernet')
-rw-r--r--libraries/Ethernet/Dhcp.cpp1
-rw-r--r--libraries/Ethernet/Ethernet.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/libraries/Ethernet/Dhcp.cpp b/libraries/Ethernet/Dhcp.cpp
index e4d27f7..56d5b69 100644
--- a/libraries/Ethernet/Dhcp.cpp
+++ b/libraries/Ethernet/Dhcp.cpp
@@ -43,6 +43,7 @@ int DhcpClass::request_DHCP_lease(){
_dhcpTransactionId = random(1UL, 2000UL);
_dhcpInitialTransactionId = _dhcpTransactionId;
+ _dhcpUdpSocket.stop();
if (_dhcpUdpSocket.begin(DHCP_CLIENT_PORT) == 0)
{
// Couldn't get a socket
diff --git a/libraries/Ethernet/Ethernet.cpp b/libraries/Ethernet/Ethernet.cpp
index 5d28f71..c31a85f 100644
--- a/libraries/Ethernet/Ethernet.cpp
+++ b/libraries/Ethernet/Ethernet.cpp
@@ -10,7 +10,8 @@ uint16_t EthernetClass::_server_port[MAX_SOCK_NUM] = {
int EthernetClass::begin(uint8_t *mac_address)
{
- _dhcp = new DhcpClass();
+ static DhcpClass s_dhcp;
+ _dhcp = &s_dhcp;
// Initialise the basic info