diff options
Diffstat (limited to 'testsuites/samples/loopback/init.c')
-rw-r--r-- | testsuites/samples/loopback/init.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/testsuites/samples/loopback/init.c b/testsuites/samples/loopback/init.c index 7ac376fbe8..ccaf3c65ce 100644 --- a/testsuites/samples/loopback/init.c +++ b/testsuites/samples/loopback/init.c @@ -167,7 +167,10 @@ static rtems_task serverTask(rtems_task_argument arg) addrlen = sizeof farAddr; s1 = accept(s, (struct sockaddr *)&farAddr, &addrlen); if (s1 < 0) - rtems_panic("Can't accept connection: %s", strerror(errno)); + if (errno == ENXIO) + rtems_task_delete(RTEMS_SELF); + else + rtems_panic("Can't accept connection: %s", strerror(errno)); else printf("ACCEPTED:%lX\n", ntohl(farAddr.sin_addr.s_addr)); spawnTask(workerTask, myPriority, s1); |