summaryrefslogtreecommitdiff
path: root/testsuites/samples/loopback/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/samples/loopback/init.c')
-rw-r--r--testsuites/samples/loopback/init.c5
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);