From e6a8fd3f45a96fbb7da3e472c36382d59fadad4e Mon Sep 17 00:00:00 2001 From: Nathan Kinder Date: Wed, 17 Dec 2008 17:22:22 +0000 Subject: Resolves: 445305 Summary: Ensure directories created by installer get the requested mode applied. --- ldap/servers/slapd/snmp_collator.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'ldap/servers/slapd') diff --git a/ldap/servers/slapd/snmp_collator.c b/ldap/servers/slapd/snmp_collator.c index 9aefadce..9fb629d2 100644 --- a/ldap/servers/slapd/snmp_collator.c +++ b/ldap/servers/slapd/snmp_collator.c @@ -528,17 +528,22 @@ snmp_collator_create_semaphore() if (errno == EEXIST) { /* It appears that we didn't exit cleanly last time and left the semaphore * around. Recreate it since we don't know what state it is in. */ - sem_unlink(stats_sem_name); + if (sem_unlink(stats_sem_name) != 0) { + LDAPDebug( LDAP_DEBUG_ANY, "Failed to delete old semaphore for stats file (%s). " + "Error %d (%s).\n", szStatsFile, errno, slapd_system_strerror(errno) ); + exit(1); + } + if ((stats_sem = sem_open(stats_sem_name, O_CREAT | O_EXCL, SLAPD_DEFAULT_FILE_MODE, 1)) == SEM_FAILED) { /* No dice */ - LDAPDebug( LDAP_DEBUG_ANY, "Failed to create semaphore for stats file (%s). Error %d.\n", - szStatsFile, errno, 0 ); + LDAPDebug( LDAP_DEBUG_ANY, "Failed to create semaphore for stats file (%s). Error %d (%s).\n", + szStatsFile, errno, slapd_system_strerror(errno) ); exit(1); } } else { /* Some other problem occurred creating the semaphore. */ - LDAPDebug( LDAP_DEBUG_ANY, "Failed to create semaphore for stats file (%s). Error %d.\n", - szStatsFile, errno, 0 ); + LDAPDebug( LDAP_DEBUG_ANY, "Failed to create semaphore for stats file (%s). Error %d.(%s)\n", + szStatsFile, errno, slapd_system_strerror(errno) ); exit(1); } } -- cgit