From: Derrick Brashear Date: Wed, 24 Mar 2010 18:49:11 +0000 (-0400) Subject: growl agent should handle port busy X-Git-Tag: openafs-devel-1_5_73_1~18 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=af415156080a979b30375f11482465e6cf7a1d91;p=packages%2Fo%2Fopenafs.git growl agent should handle port busy if the port can't be bound, die cleanly. FIXES 126812 Change-Id: I6523f18c2b5f5bacfbd11d08736b9af14fa666e2 Reviewed-on: http://gerrit.openafs.org/1651 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/platform/DARWIN/growlagent/main.m b/src/platform/DARWIN/growlagent/main.m index 1d256da21..2982d0280 100644 --- a/src/platform/DARWIN/growlagent/main.m +++ b/src/platform/DARWIN/growlagent/main.m @@ -223,10 +223,16 @@ int main(int argc, const char **argv) { CFSocketContext MarinerSocketContext = {0, (void *)&growlContext, NULL, NULL, NULL }; CFSocketRef MarinerSocket = CFSocketCreateWithSocketSignature(kCFAllocatorDefault, &MarinerSignature, kCFSocketReadCallBack, &MySocketReadCallBack, &MarinerSocketContext); + + if (!MarinerSocket) + goto fail; CFSocketSetSocketFlags(MarinerSocket, kCFSocketCloseOnInvalidate|kCFSocketAutomaticallyReenableReadCallBack); CFRunLoopSourceRef MarinerRunLoopSource = CFSocketCreateRunLoopSource(NULL, MarinerSocket, 0); + if (!MarinerRunLoopSource) + goto fail; + CFRunLoopAddSource(CFRunLoopGetCurrent(), MarinerRunLoopSource, kCFRunLoopCommonModes); /* Run the run loop until it is manually cancelled */ @@ -236,6 +242,7 @@ int main(int argc, const char **argv) { CFRelease(MarinerRunLoopSource); CFSocketInvalidate(MarinerSocket); CFRelease(MarinerSocket); +fail: /* CFRelease(notificationInfo); */ [pool release];