Dear all, when making use of the following code fragment, I cannot start the program immediately again after it finished. /* BEGIN Fragment */ /* I removed all the error checking to shorten the code */ getaddrinfo(host, service, &hints, &res); listenfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); bind(listenfd, res->ai_addr, res->ai_addrlen); listen(listenfd, LISTENQ); fd = accept(listenfd, sa, &salen); close(fd); close(listenfd); /* END Fragment */ When I compile this code fragment, it starts perfectly and awaits a connection. If I restart the program immediately afterwards from within a loop in a shell script, listen() fails. If I wait for a second (sleep 1) before restarting the program, everything works fine again. Does anybody know what I made wrong? Thanks for any enlightenment! wbr, Lukas -- Lukas Ruf | Wanna know anything about raw | <http://www.lpr.ch> | IP? <http://www.rawip.org> | -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/