diff --git a/backends/server/ChangeLog b/backends/server/ChangeLog index f8f76802..717656a6 100644 --- a/backends/server/ChangeLog +++ b/backends/server/ChangeLog @@ -1,3 +1,9 @@ +2000-11-27 Martin Baulig + + * backend-server.c (backend_server_quark): New global variable. + (_open_server, _close_server): Use the quark. + * commands.c: Likewise. + 2000-11-26 Martin Baulig * backend-server.h: New file. diff --git a/backends/server/backend-server.c b/backends/server/backend-server.c index ddf5b6bd..625820d1 100644 --- a/backends/server/backend-server.c +++ b/backends/server/backend-server.c @@ -31,6 +31,9 @@ _open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **); static int _close_server (glibtop_server *, glibtop_backend *); +static int backend_server_initialized = 0; +GQuark backend_server_quark; + extern glibtop_call_vector glibtop_backend_server_call_vector; #ifdef LIBGTOP_USE_GMODULE @@ -51,9 +54,15 @@ _open_server (glibtop_server *server, glibtop_backend *backend, { backend_server_private *priv; + if (!backend_server_initialized) { + backend_server_quark = g_quark_from_string ("backend-server-private"); + + backend_server_initialized = 1; + } + priv = glibtop_calloc_r (server, 1, sizeof (backend_server_private)); - g_object_set_data (G_OBJECT (backend), BACKEND_DATA_KEY, priv); + g_object_set_qdata (G_OBJECT (backend), backend_server_quark, priv); #ifdef DEBUG fprintf (stderr, "open_server - %p, %p, %p\n", server, backend, priv); @@ -97,7 +106,7 @@ _close_server (glibtop_server *server, glibtop_backend *backend) { backend_server_private *priv; - priv = g_object_steal_data (G_OBJECT (backend), BACKEND_DATA_KEY); + priv = g_object_steal_qdata (G_OBJECT (backend), backend_server_quark); g_assert (priv != NULL); kill (priv->pid, SIGKILL); diff --git a/backends/server/backend-server.h b/backends/server/backend-server.h index 8b2d5f5c..c0fd0024 100644 --- a/backends/server/backend-server.h +++ b/backends/server/backend-server.h @@ -36,8 +36,6 @@ typedef struct _backend_server_private backend_server_private; -#define BACKEND_DATA_KEY "backend-server-private" - struct _backend_server_private { u_int64_t flags; @@ -48,6 +46,8 @@ struct _backend_server_private glibtop_server *server; }; +extern GQuark backend_server_quark; + void * glibtop_call_i (glibtop_server *server, glibtop_backend *backend, unsigned command, size_t send_size, const void *send_ptr, diff --git a/backends/server/command.c b/backends/server/command.c index 2a416c09..ee6053d9 100644 --- a/backends/server/command.c +++ b/backends/server/command.c @@ -44,7 +44,7 @@ glibtop_call_i (glibtop_server *server, glibtop_backend *backend, memset (&cmnd, 0, sizeof (glibtop_command)); memset (&resp, 0, sizeof (glibtop_response)); - priv = g_object_get_data (G_OBJECT (backend), BACKEND_DATA_KEY); + priv = g_object_get_qdata (G_OBJECT (backend), backend_server_quark); g_assert (priv != NULL); cmnd.command = command;