Hello James,

sorry for this bug, I fixed it like this:

https://git.rtems.org/rtems/commit/?id=eaa1709894668db739d09a6cea57f98ed4cee38b

On 08/05/18 07:54, jameszxj wrote:
sorry, this problem is nothing to do with libbsd. The rtems/cpukit/ftpd/ftpd.c add a new function yield(),
this function makes the problem.

static void
yield(void)
{
/*
 * If we build not for the legacy network stack, then we use the libbsd.  In  * the libbsd there is no global network stack semaphore which provides round
 * robin fairness for threads of equal priority.
 */
#ifndef RTEMS_NETWORKING
  yield();
#endif
}

recursive invocation yield() make the function do not return. I use rtems_task_wake_after(0) replace the yield,
ftp server works correctly.


------------------ Original ------------------
*From: * "jameszxj"<james...@gmail.com>;
*Date: * Fri, May 4, 2018 12:00 PM
*To: * "devel"<devel@rtems.org>;
*Subject: * ftp server upload filer error.

hi,
 I update libbsd to the github version, and when i upload a file, the upload process failed at the end, and the target shell stuck.
 I disconnect from the ftp client, shell print the msg
          debug: _bsd_sonewconn: pcb 0x15df2000: Listen queue overflow: 2 already in queue awaiting acceptance (1 occurrences)

 The target still respond the ping command.


_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to