diff options
| author | Dániel Buga <[email protected]> | 2023-10-14 13:35:53 +0200 |
|---|---|---|
| committer | Dániel Buga <[email protected]> | 2023-10-14 13:35:53 +0200 |
| commit | 69bb455c602571b45bc62a03c9e68bfd5ddcb838 (patch) | |
| tree | 0bb5d4feab857a1300d0904e232ddf6bbab15f0d /embassy-net/src/lib.rs | |
| parent | 575db172643a6fe5b853c331a3ac640f11f92984 (diff) | |
Wake stack's task after queueing a DNS query
Diffstat (limited to 'embassy-net/src/lib.rs')
| -rw-r--r-- | embassy-net/src/lib.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/embassy-net/src/lib.rs b/embassy-net/src/lib.rs index ef67935e1..a0ad33c6b 100644 --- a/embassy-net/src/lib.rs +++ b/embassy-net/src/lib.rs | |||
| @@ -509,7 +509,10 @@ impl<D: Driver> Stack<D> { | |||
| 509 | self.with_mut(|s, i| { | 509 | self.with_mut(|s, i| { |
| 510 | let socket = s.sockets.get_mut::<dns::Socket>(i.dns_socket); | 510 | let socket = s.sockets.get_mut::<dns::Socket>(i.dns_socket); |
| 511 | match socket.start_query(s.iface.context(), name, qtype) { | 511 | match socket.start_query(s.iface.context(), name, qtype) { |
| 512 | Ok(handle) => Poll::Ready(Ok(handle)), | 512 | Ok(handle) => { |
| 513 | s.waker.wake(); | ||
| 514 | Poll::Ready(Ok(handle)) | ||
| 515 | } | ||
| 513 | Err(dns::StartQueryError::NoFreeSlot) => { | 516 | Err(dns::StartQueryError::NoFreeSlot) => { |
| 514 | i.dns_waker.register(cx.waker()); | 517 | i.dns_waker.register(cx.waker()); |
| 515 | Poll::Pending | 518 | Poll::Pending |
