Skip to content
Snippets Groups Projects
Commit 6a538835 authored by dnsadmin's avatar dnsadmin
Browse files

Szükségtelennek tűnő mutexek kivéve (#4)

Úgy láttam a recvfrom és a sendto nem érzékeny a konkurrenciára, úgyhogy kivettem a mutexeiket, mert nagyon lassították a kiszolgálást.
parent 1b178a2b
No related branches found
No related tags found
No related merge requests found
......@@ -71,9 +71,7 @@ void dns_server::serve_one_request() {
struct sockaddr_in6 sender;
socklen_t slen = sizeof(sender);
dns_message_em query;
pthread_mutex_lock(&mutex);
udp_packet_wp received_packet = this->socket.recvfrom_wp((sockaddr*) &sender, &slen);
pthread_mutex_unlock(&mutex);
try {
received_packet>>query;
}
......@@ -85,11 +83,9 @@ void dns_server::serve_one_request() {
}
#ifdef DEBUG
pthread_mutex_lock(&mutex);
static char buf[INET6_ADDRSTRLEN];
char buf[INET6_ADDRSTRLEN];
dns_label_sequence_to_str(query.question_body.get_name(), buf, INET6_ADDRSTRLEN);
printf("%s\n", buf);
pthread_mutex_unlock(&mutex);
#endif
//dns response
......@@ -114,14 +110,7 @@ void dns_server::serve_one_request() {
}
//---
/*
* Mivel a recvfrom mutexelt, így ide lehet, hogy nem kell,
* mert a sender lokális, a sendtoról viszont még ki kell deríteni,
* hogy szálbiztos-e.
*/
pthread_mutex_lock(&mutex);
this->socket.sendto_wp(resp, 0, (sockaddr*) &sender, slen);
pthread_mutex_unlock(&mutex);
}
void dns_server::serve_forever() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment