Skip to content

Commit d777db8

Browse files
Fixed macOS deprecated method
1 parent ba76e8b commit d777db8

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

examples/src/macOS_networkEventMonitor.mm

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,14 @@ int main(int /* argc */, const char* /* argv */[])
203203
auto interfaceMatchIterator = IteratorGuard{};
204204
auto interfaceTerminateIterator = IteratorGuard{};
205205
auto notificationPort = RefGuard<IONotificationPortRef, IONotificationPortRef, &IONotificationPortDestroy>{};
206-
auto masterPort = mach_port_t{ 0 };
207-
208-
IOMasterPort(mach_task_self(), &masterPort);
209-
notificationPort = RefGuard<IONotificationPortRef, IONotificationPortRef, &IONotificationPortDestroy>{ IONotificationPortCreate(masterPort) };
206+
auto mainPort = mach_port_t{ 0 };
207+
208+
#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
209+
IOMainPort(mach_task_self(), &mainPort);
210+
#else
211+
IOMasterPort(mach_task_self(), &mainPort);
212+
#endif
213+
notificationPort = RefGuard<IONotificationPortRef, IONotificationPortRef, &IONotificationPortDestroy>{ IONotificationPortCreate(mainPort) };
210214
if (notificationPort)
211215
{
212216
IONotificationPortSetDispatchQueue(*notificationPort, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));

src/networkInterfaceHelper_mac.mm

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -641,9 +641,13 @@ virtual void onFirstObserverRegistered() noexcept override
641641
{
642642
// Register for Added/Removed interfaces notification (kernel events)
643643
{
644-
mach_port_t masterPort = 0;
645-
IOMasterPort(mach_task_self(), &masterPort);
646-
_notificationPort = RefGuard<IONotificationPortRef, IONotificationPortRef, &IONotificationPortDestroy>{ IONotificationPortCreate(masterPort) };
644+
mach_port_t mainPort = 0;
645+
#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
646+
IOMainPort(mach_task_self(), &mainPort);
647+
#else
648+
IOMasterPort(mach_task_self(), &mainPort);
649+
#endif
650+
_notificationPort = RefGuard<IONotificationPortRef, IONotificationPortRef, &IONotificationPortDestroy>{ IONotificationPortCreate(mainPort) };
647651
if (_notificationPort)
648652
{
649653
IONotificationPortSetDispatchQueue(*_notificationPort, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));

0 commit comments

Comments
 (0)