- if (errno != EEXIST) {
- g_warning ("%s: semget error: %s key 0x%x - trying again", __func__, g_strerror (errno), key);
+ if (errno == ENOMEM) {
+ g_critical ("%s: semget error: %s", __func__,
+ g_strerror (errno));
+ } else if (errno == ENOSPC) {
+ g_critical ("%s: semget error: %s. Try deleting some semaphores with ipcs and ipcrm", __func__, g_strerror (errno));
+ } else if (errno != EEXIST) {
+ if (retries > 3)
+ g_warning ("%s: semget error: %s key 0x%x - trying again", __func__,
+ g_strerror (errno), key);