diff options
Diffstat (limited to 'apps/netutils/ftpc/ftpc_transfer.c')
-rw-r--r-- | apps/netutils/ftpc/ftpc_transfer.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/apps/netutils/ftpc/ftpc_transfer.c b/apps/netutils/ftpc/ftpc_transfer.c index bce30e302..640e92276 100644 --- a/apps/netutils/ftpc/ftpc_transfer.c +++ b/apps/netutils/ftpc/ftpc_transfer.c @@ -44,11 +44,14 @@ #include <unistd.h> #include <string.h> #include <poll.h> +#include <signal.h> #include <ctype.h> #include <errno.h> #include <assert.h> #include <debug.h> +#include <apps/ftpc.h> + #include "ftpc_internal.h" /**************************************************************************** @@ -396,5 +399,23 @@ int ftpc_waitdata(FAR struct ftpc_session_s *session, FAR FILE *stream, bool rdw return ret; } +/**************************************************************************** + * Name: ftpc_timeout + * + * Description: + * A timeout occurred -- either on a specific command or while waiting + * for a reply. + * + * NOTE: + * This function executes in the context of a timer interrupt handler. + * + ****************************************************************************/ +void ftpc_timeout(int argc, uint32_t arg1, ...) +{ + FAR struct ftpc_session_s *session = (FAR struct ftpc_session_s *)arg1; + nlldbg("Timeout!\n"); + DEBUGASSERT(argc == 1 && session); + kill(session->pid, CONFIG_FTP_SIGNAL); +} |