static const guchar *unused_details (struct _WapiHandleShared *handle);
static const guchar *unshared_details (struct _WapiHandleShared *handle);
-#if 0
static const guchar *thread_details (struct _WapiHandleShared *handle);
-#endif
static const guchar *namedmutex_details (struct _WapiHandleShared *handle);
+static const guchar *namedsem_details (struct _WapiHandleShared *handle);
+static const guchar *namedevent_details (struct _WapiHandleShared *handle);
static const guchar *process_details (struct _WapiHandleShared *handle);
/* This depends on the ordering of the enum WapiHandleType in
unused_details,
unshared_details, /* file */
unshared_details, /* console */
-#if 0
thread_details,
-#else
- unshared_details, /* thread */
-#endif
unshared_details, /* sem */
unshared_details, /* mutex */
unshared_details, /* event */
process_details,
unshared_details, /* pipe */
namedmutex_details,
+ namedsem_details,
+ namedevent_details,
unused_details,
};
int main (int argc, char **argv)
{
guint32 i;
-
+ guint32 now;
+
_wapi_shared_layout = _wapi_shm_attach(WAPI_SHM_DATA);
if (_wapi_shared_layout == NULL) {
g_error ("Failed to attach shared memory!");
_wapi_shared_layout->collection_count,
_wapi_shared_layout->sem_key);
- guint32 now = (guint32)(time(NULL) & 0xFFFFFFFF);
+ now = (guint32)(time(NULL) & 0xFFFFFFFF);
for (i = 0; i < _WAPI_HANDLE_INITIAL_COUNT; i++) {
struct _WapiHandleShared *shared;
return("unshared details");
}
-#if 0
static const guchar *thread_details (struct _WapiHandleShared *handle)
{
static guchar buf[80];
return(buf);
}
-#endif
static const guchar *namedmutex_details (struct _WapiHandleShared *handle)
{
return(buf);
}
+static const guchar *namedsem_details (struct _WapiHandleShared *handle)
+{
+ static guchar buf[80];
+ gchar *name;
+ struct _WapiHandle_namedsem *sem = &handle->u.namedsem;
+
+ name = sem->sharedns.name;
+
+ g_snprintf (buf, sizeof(buf), "[%15s] val: %5u, max: %5d",
+ name == NULL?(gchar *)"":name, sem->val, sem->max);
+
+ return(buf);
+}
+
+static const guchar *namedevent_details (struct _WapiHandleShared *handle)
+{
+ static guchar buf[80];
+ gchar *name;
+ struct _WapiHandle_namedevent *event = &handle->u.namedevent;
+
+ name = event->sharedns.name;
+
+ g_snprintf (buf, sizeof(buf), "[%15s] %s count: %5u",
+ name == NULL?(gchar *)"":name,
+ event->manual?"Manual":"Auto", event->set_count);
+
+ return(buf);
+}
+
static const guchar *process_details (struct _WapiHandleShared *handle)
{
static guchar buf[80];