Changes in uspace/srv/net/dnsrsrv/transport.c [06fe3b6:257feec] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/dnsrsrv/transport.c
r06fe3b6 r257feec 52 52 53 53 /** Request timeout (microseconds) */ 54 #define REQ_TIMEOUT (5 *1000*1000)54 #define REQ_TIMEOUT (5 * 1000 * 1000) 55 55 56 56 /** Maximum number of retries */ 57 57 #define REQ_RETRY_MAX 3 58 59 inet_addr_t dns_server_addr; 58 60 59 61 typedef struct { … … 72 74 static fid_t recv_fid; 73 75 static int transport_fd = -1; 74 inet_addr_t dns_server_addr;75 76 76 77 /** Outstanding requests */ … … 194 195 addr.sin_family = AF_INET; 195 196 addr.sin_port = htons(DNS_SERVER_PORT); 196 addr.sin_addr.s_addr = host2uint32_t_be(dns_server_addr.ipv4);197 inet_addr_sockaddr_in(&dns_server_addr, &addr); 197 198 198 199 rc = dns_message_encode(req, &req_data, &req_size); … … 204 205 while (ntry < REQ_RETRY_MAX) { 205 206 rc = sendto(transport_fd, req_data, req_size, 0, 206 (struct sockaddr *) &addr, sizeof(addr));207 (struct sockaddr *) &addr, sizeof(addr)); 207 208 if (rc != EOK) 208 209 goto error; 209 210 210 211 treq = treq_create(req); 211 212 if (treq == NULL) { … … 213 214 goto error; 214 215 } 215 216 216 217 217 fibril_mutex_lock(&treq->done_lock); 218 218 while (treq->done != true) { … … 224 224 } 225 225 } 226 226 227 227 fibril_mutex_unlock(&treq->done_lock); 228 228 229 229 if (rc != ETIMEOUT) 230 230 break; 231 231 } 232 232 233 233 if (ntry >= REQ_RETRY_MAX) { 234 234 rc = EIO; 235 235 goto error; 236 236 } 237 237 238 238 if (treq->status != EOK) { 239 239 rc = treq->status; 240 240 goto error; 241 241 } 242 242 243 243 *rresp = treq->resp; 244 244 treq_destroy(treq); 245 245 free(req_data); 246 246 return EOK; 247 247 248 error: 248 249 if (treq != NULL) 249 250 treq_destroy(treq); 251 250 252 free(req_data); 251 253 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.