diff --git a/rtemsbsd/ftpd/ftpd.c b/rtemsbsd/ftpd/ftpd.c index 3a64f1d3..3cfed57f 100644 --- a/rtemsbsd/ftpd/ftpd.c +++ b/rtemsbsd/ftpd/ftpd.c @@ -199,6 +199,7 @@ #include #include #include +#include #include #include @@ -818,6 +819,7 @@ command_retrieve(FTPD_SessionInfo_t *info, char const *filename) { if(send(s, buf, n, 0) != n) break; + sched_yield(); } } else if (info->xfer_mode == TYPE_A) @@ -853,6 +855,7 @@ command_retrieve(FTPD_SessionInfo_t *info, char const *filename) } } while((rest -= i) > 0); + sched_yield(); } } @@ -1046,6 +1049,7 @@ command_store(FTPD_SessionInfo_t *info, char const *filename) res = 0; break; } + sched_yield(); } } else if(info->xfer_mode == TYPE_A) @@ -1107,6 +1111,7 @@ command_store(FTPD_SessionInfo_t *info, char const *filename) res = 0; } while((rest -= i) > 0); + sched_yield(); } }