|
69 | 69 | // txtvers=1 id=NIBE-06920619238006 register=false model=nibe-n type=ControlBox brand=NIBE |
70 | 70 |
|
71 | 71 | #include <errno.h> |
72 | | -#include <stdatomic.h> |
73 | 72 | #ifdef _WIN32 |
74 | 73 | // clang-format off |
75 | 74 | #include <winsock2.h> |
@@ -149,7 +148,7 @@ struct Mdns { |
149 | 148 | Vector* active_resolves; |
150 | 149 | Vector* found_entries; |
151 | 150 |
|
152 | | - atomic_bool cancel; |
| 151 | + bool cancel; |
153 | 152 | }; |
154 | 153 |
|
155 | 154 | #define MDNS(obj) ((Mdns*)(obj)) |
@@ -262,7 +261,7 @@ void MdnsConstruct( |
262 | 261 | self->found_entries = VectorCreateWithDeallocator(MdnsEntryDeallocator); |
263 | 262 | self->active_resolves = VectorCreateWithDeallocator(MdnsActiveResolveEntryDeallocator); |
264 | 263 |
|
265 | | - atomic_store(&self->cancel, false); |
| 264 | + self->cancel = false; |
266 | 265 |
|
267 | 266 | // Seed random number generator |
268 | 267 | srand((int)time(NULL)); |
@@ -725,7 +724,7 @@ static void* MdnsBrowserLoop(void* parameters) { |
725 | 724 |
|
726 | 725 | MdnsBrowseServices(mdns); |
727 | 726 |
|
728 | | - while (!atomic_load(&mdns->cancel)) { |
| 727 | + while (!mdns->cancel) { |
729 | 728 | if (mdns->dns_service_browser_ref == NULL) { |
730 | 729 | MDNS_DEBUG_PRINTF("No browse ref to process!\n"); |
731 | 730 | break; |
@@ -886,14 +885,15 @@ static void DeregisterService(ShipMdnsObject* self) { |
886 | 885 | static void Stop(ShipMdnsObject* self) { |
887 | 886 | Mdns* const mdns = MDNS(self); |
888 | 887 |
|
889 | | - atomic_store(&mdns->cancel, true); |
| 888 | + mdns->cancel = true; |
890 | 889 |
|
891 | | - DeregisterService(self); |
892 | 890 | if (mdns->thread != NULL) { |
893 | 891 | EEBUS_THREAD_JOIN(mdns->thread); |
894 | 892 | EebusThreadDelete(mdns->thread); |
895 | 893 | mdns->thread = NULL; |
896 | 894 | } |
| 895 | + |
| 896 | + DeregisterService(self); |
897 | 897 | } |
898 | 898 |
|
899 | 899 | static void SetAutoaccept(ShipMdnsObject* self, bool autoaccept) { |
|
0 commit comments