[gimp] app: add log output when attaching/detaching shared memory
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] app: add log output when attaching/detaching shared memory
- Date: Wed, 10 Feb 2010 18:27:50 +0000 (UTC)
commit 74c01d7a10f323a650d2bbd36b3e39b2d17fa278
Author: Michael Natterer <mitch gimp org>
Date: Wed Feb 10 19:24:40 2010 +0100
app: add log output when attaching/detaching shared memory
Also put the call to shmdt() out of the IPC_RMID_DEFERRED_RELEASE ifdef.
app/gimp-log.c | 3 ++-
app/gimp-log.h | 4 +++-
app/plug-in/gimppluginshm.c | 14 ++++++++++----
3 files changed, 15 insertions(+), 6 deletions(-)
---
diff --git a/app/gimp-log.c b/app/gimp-log.c
index 4820aa3..6ccb995 100644
--- a/app/gimp-log.c
+++ b/app/gimp-log.c
@@ -48,7 +48,8 @@ gimp_log_init (void)
{ "shadow-tiles", GIMP_LOG_SHADOW_TILES },
{ "scale", GIMP_LOG_SCALE },
{ "wm", GIMP_LOG_WM },
- { "floating-selection", GIMP_LOG_FLOATING_SELECTION }
+ { "floating-selection", GIMP_LOG_FLOATING_SELECTION },
+ { "shm", GIMP_LOG_SHM }
};
/* g_parse_debug_string() has special treatment of the string 'help',
diff --git a/app/gimp-log.h b/app/gimp-log.h
index 8c19d96..01ce4d4 100644
--- a/app/gimp-log.h
+++ b/app/gimp-log.h
@@ -32,7 +32,8 @@ typedef enum
GIMP_LOG_SHADOW_TILES = 1 << 8,
GIMP_LOG_SCALE = 1 << 9,
GIMP_LOG_WM = 1 << 10,
- GIMP_LOG_FLOATING_SELECTION = 1 << 11
+ GIMP_LOG_FLOATING_SELECTION = 1 << 11,
+ GIMP_LOG_SHM = 1 << 12
} GimpLogFlags;
@@ -85,6 +86,7 @@ void gimp_logv (const gchar *function,
#define SCALE GIMP_LOG_SCALE
#define WM GIMP_LOG_WM
#define FLOATING_SELECTION GIMP_LOG_FLOATING_SELECTION
+#define SHM GIMP_LOG_SHM
#if 0 /* last resort */
# define GIMP_LOG /* nothing => no varargs, no log */
diff --git a/app/plug-in/gimppluginshm.c b/app/plug-in/gimppluginshm.c
index c40f709..323dbc6 100644
--- a/app/plug-in/gimppluginshm.c
+++ b/app/plug-in/gimppluginshm.c
@@ -68,6 +68,8 @@
#include "gimppluginshm.h"
+#include "gimp-log.h"
+
#define TILE_MAP_SIZE (TILE_WIDTH * TILE_HEIGHT * 4)
@@ -234,6 +236,10 @@ gimp_plug_in_shm_new (void)
g_slice_free (GimpPlugInShm, shm);
shm = NULL;
}
+ else
+ {
+ GIMP_LOG (SHM, "attached shared memory segment ID = %d", shm->shm_ID);
+ }
return shm;
}
@@ -248,12 +254,11 @@ gimp_plug_in_shm_free (GimpPlugInShm *shm)
#if defined (USE_SYSV_SHM)
-#ifndef IPC_RMID_DEFERRED_RELEASE
shmdt (shm->shm_addr);
+
+#ifndef IPC_RMID_DEFERRED_RELEASE
shmctl (shm->shm_ID, IPC_RMID, NULL);
-#else
- shmdt (shm->shm_addr);
-#endif /* IPC_RMID_DEFERRED_RELEASE */
+#endif
#elif defined(USE_WIN32_SHM)
@@ -273,6 +278,7 @@ gimp_plug_in_shm_free (GimpPlugInShm *shm)
#endif
+ GIMP_LOG (SHM, "detached shared memory segment ID = %d", shm->shm_ID);
}
g_slice_free (GimpPlugInShm, shm);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]