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); +}