You are viewing an old revision of this page.
Address already in use
- This error means an address is already in use, this is frequently due to a network port or socket being already claimed by another process. You can't have two processes listen on the same IP address/port pair at the same time unless they actively cooperate to do so. For example, when starting apache a second time without closing down the first connection you get in the logs
- Address already in use: make_sock: could not bind to port 80
- You can tell whats listening on a port by using
- netstat -ap
(see netstat(8) for more information)
kill(1) the other program that is listening on that port and try again.
Usually you get this error when trying to start a daemon that is already running.
To code around this call
unsigned int opt = 1;
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))==-1) {
perror("setsockopt(fd,SOL_SOCKET, SO_REUSEADDR,1)");
exit(1)?;
}