static int (*real_close)(int);
LOAD_FUNCTION(real_close, "close");
- DBG("close(%d)\n", fd);
-
struct list *entry = remove_sockfd(fd);
if (entry == NULL) {
DBG("close(%d): sockfd not found\n", fd);
return real_close(fd);
}
assert(fd == entry->orig_sockfd);
+
+ DBG("close(%d)\n", fd);
free(entry->orig_addr);
free(entry);
static int (*real_bind)(int, const struct sockaddr *, socklen_t);
LOAD_FUNCTION(real_bind, "bind");
- DBG("bind(%d, ..)\n", sockfd);
-
if (addr == NULL || addrlen < sizeof(addr->sa_family)
|| addr->sa_family == AF_UNIX
|| addr->sa_family == AF_LOCAL) {
return real_accept(sockfd, addr, addrlen);
}
- DBG("accept(%d, ..)\n", sockfd);
-
struct list *entry = find_sockfd(sockfd);
if (!entry) {
DBG("accept(%d, ..): sockfd not found\n", sockfd);
return real_connect(sockfd, addr, addrlen);
}
- DBG("connect(%d, ..)\n", sockfd);
-
if (addr == NULL || addrlen < sizeof(addr->sa_family)
|| addr->sa_family == AF_UNIX
|| addr->sa_family == AF_LOCAL) {