aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/socket.c
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-11-14 03:00:04 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-11-14 03:00:04 +0000
commit9fe23b2e8e105d0cbc9f3a7cab344fadf8ce1e78 (patch)
tree5192d845815ef38302ce9415352f2aa247931ef6 /networking/udhcp/socket.c
parenta6429510e273bb12bb6ac65d23e213c65f2b9f62 (diff)
downloadbusybox-w32-9fe23b2e8e105d0cbc9f3a7cab344fadf8ce1e78.tar.gz
busybox-w32-9fe23b2e8e105d0cbc9f3a7cab344fadf8ce1e78.tar.bz2
busybox-w32-9fe23b2e8e105d0cbc9f3a7cab344fadf8ce1e78.zip
Ulrich Marx writes:
hello i had some trouble with the filedescriptor in udhcp. Two things happened on my device: 1.) broken or not connected cable (no dhcp-server) 2.) daemonizing (starting with option -b) i got a filedescriptor fd=0 from function raw_socket, after daemonizing (daemon call) the fd is closed. Client can't recieve data's anymore. i fixed this problem (like pidfile handling): git-svn-id: svn://busybox.net/trunk/busybox@7903 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'networking/udhcp/socket.c')
-rw-r--r--networking/udhcp/socket.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/networking/udhcp/socket.c b/networking/udhcp/socket.c
index f12fa9290..df00e6985 100644
--- a/networking/udhcp/socket.c
+++ b/networking/udhcp/socket.c
@@ -141,6 +141,8 @@ int raw_socket(int ifindex)
141 DEBUG(LOG_ERR, "socket call failed: %m"); 141 DEBUG(LOG_ERR, "socket call failed: %m");
142 return -1; 142 return -1;
143 } 143 }
144
145 while (fd >= 0 && fd < 3) fd = dup(fd); /* don't let daemon close fds on us */
144 146
145 sock.sll_family = AF_PACKET; 147 sock.sll_family = AF_PACKET;
146 sock.sll_protocol = htons(ETH_P_IP); 148 sock.sll_protocol = htons(ETH_P_IP);