Skip to content

Commit fa2e212

Browse files
committed
test(examples/uffd): panic on receiving POLLHUP
If Firecracker process disconnects from the socket, the UFFD handler receives a POLLHUP epoll event. We would like to handle it explicitly to get more precise data when debugging. Signed-off-by: Nikita Kalyazin <[email protected]>
1 parent a6c9559 commit fa2e212

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/firecracker/examples/uffd/uffd_utils.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,14 @@ impl Runtime {
312312
if nready == 0 {
313313
break;
314314
}
315+
if pollfds[i].revents & libc::POLLHUP != 0 {
316+
let sock_type = if pollfds[i].fd == self.stream.as_raw_fd() {
317+
"listening"
318+
} else {
319+
"connected"
320+
};
321+
panic!("Received POLLHUP on {sock_type} socket");
322+
}
315323
if pollfds[i].revents & libc::POLLIN != 0 {
316324
nready -= 1;
317325
if pollfds[i].fd == self.stream.as_raw_fd() {

0 commit comments

Comments
 (0)