/*
- * Copyright (c) 2000, 2001, 2004, 2005, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (c) 2000, 2001, 2004, 2005, 2009-2011 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
status = notifyviasignal(storePrivate->server, task, sig, (int *)&sc_status);
+ if (__SCDynamicStoreCheckRetryAndHandleError(store,
+ status,
+ &sc_status,
+ "SCDynamicStoreNotifySignal notifyviasignal()")) {
+ goto retry;
+ }
+
if (status != KERN_SUCCESS) {
- if ((status == MACH_SEND_INVALID_DEST) || (status == MIG_SERVER_DIED)) {
- /* the server's gone and our session port's dead, remove the dead name right */
- (void) mach_port_deallocate(mach_task_self(), storePrivate->server);
- } else {
- /* we got an unexpected error, leave the [session] port alone */
- SCLog(TRUE, LOG_ERR, CFSTR("SCDynamicStoreNotifySignal notifyviasignal(): %s"), mach_error_string(status));
- }
- storePrivate->server = MACH_PORT_NULL;
- if ((status == MACH_SEND_INVALID_DEST) || (status == MIG_SERVER_DIED)) {
- if (__SCDynamicStoreReconnect(store)) {
- goto retry;
- }
- }
_SCErrorSet(status);
return FALSE;
}