From f272a75b6afa347435b534903af0eeedc9af0d91 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Sat, 13 Oct 2018 16:31:01 +0200 Subject: [PATCH] implement 'keypressed()' in the unix port Signed-off-by: Simon Goldschmidt --- contrib/ports/unix/port/include/arch/sys_arch.h | 3 +++ contrib/ports/unix/port/sys_arch.c | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/contrib/ports/unix/port/include/arch/sys_arch.h b/contrib/ports/unix/port/include/arch/sys_arch.h index c41be0bb..6e2dffa9 100644 --- a/contrib/ports/unix/port/include/arch/sys_arch.h +++ b/contrib/ports/unix/port/include/arch/sys_arch.h @@ -59,5 +59,8 @@ typedef struct sys_mbox * sys_mbox_t; struct sys_thread; typedef struct sys_thread * sys_thread_t; +#define LWIP_EXAMPLE_APP_ABORT() lwip_unix_keypressed() +int lwip_unix_keypressed(void); + #endif /* LWIP_ARCH_SYS_ARCH_H */ diff --git a/contrib/ports/unix/port/sys_arch.c b/contrib/ports/unix/port/sys_arch.c index 33365399..553eb4d8 100644 --- a/contrib/ports/unix/port/sys_arch.c +++ b/contrib/ports/unix/port/sys_arch.c @@ -717,3 +717,14 @@ sys_arch_unprotect(sys_prot_t pval) } } #endif /* SYS_LIGHTWEIGHT_PROT */ + +/* get keyboard state to terminate the debug app by using select */ +int +lwip_unix_keypressed(void) +{ + struct timeval tv = { 0L, 0L }; + fd_set fds; + FD_ZERO(&fds); + FD_SET(0, &fds); + return select(1, &fds, NULL, NULL, &tv); +}