summaryrefslogtreecommitdiff
path: root/lib/open.c
diff options
context:
space:
mode:
authorMartin Baulig <martin@home-of-linux.org>1998-07-13 00:39:46 +0000
committerMartin Baulig <martin@src.gnome.org>1998-07-13 00:39:46 +0000
commit3477d30dc5cbefcaa5a717c6f9aaffe6c3f46ef9 (patch)
treed208d4566f40b2630e9633bb3956688c41eaec37 /lib/open.c
parentf30dfecaf7c284f358fb1cb00a2da296ec4e6738 (diff)
downloadlibgtop-3477d30dc5cbefcaa5a717c6f9aaffe6c3f46ef9.tar.gz
Basically did some work on the new daemon. Things are still unstable.
1998-07-13 Martin Baulig <martin@home-of-linux.org> * glibtop.h: Fixed invocation of `glibtop_close_r'. * sysdeps/linux/procstate.c: Added missing `fclose'. * include/glibtop/gnuserv.h (UNIX_DOMAIN_SOCKETS): Defining. * include/glibtop/open.h (GLIBTOP_METHOD_UNIX): Added. * lib/init.c: Added new method `GLIBTOP_METHOD_UNIX'. * lib/open.c: Added support for Unix Domain Sockets. * lib/close.c: Now closing inet and unix connections. * lib/parameter.c (glibtop_set_parameter_l): You can now set the `method' and `features' fields. * src/daemon/server_config.h: New file. * src/daemon/{gnuserv.c, main.c}: More work on the server.
Diffstat (limited to 'lib/open.c')
-rw-r--r--lib/open.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/lib/open.c b/lib/open.c
index 1bf95032..783744ab 100644
--- a/lib/open.c
+++ b/lib/open.c
@@ -33,6 +33,8 @@ void
glibtop_open_l (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags)
{
+ int connect_type;
+
server->name = program_name;
/* It is important to set _GLIBTOP_INIT_STATE_OPEN here when we
@@ -40,19 +42,33 @@ glibtop_open_l (glibtop *server, const char *program_name,
server->flags |= _GLIBTOP_INIT_STATE_OPEN;
- if (server->method == GLIBTOP_METHOD_INET) {
- int connect_type;
-
- fprintf (stderr, "Connecting to '%s' port %d.\n",
+ switch (server->method) {
+ case GLIBTOP_METHOD_INET:
+ fprintf (stderr, "Connecting to '%s' port %ld.\n",
server->server_host, server->server_port);
connect_type = glibtop_make_connection
(server->server_host, server->server_port,
&server->socket);
+
+ fprintf (stderr, "Connect Type is %d.\n", connect_type);
+
+ server->flags |= _GLIBTOP_INIT_STATE_SERVER;
server->features = -1;
+ break;
+ case GLIBTOP_METHOD_UNIX:
+ fprintf (stderr, "Connecting to Unix Domain Socket.\n");
+
+ connect_type = glibtop_make_connection
+ ("unix", 0, &server->socket);
+
+ fprintf (stderr, "Connect Type is %d.\n", connect_type);
+
+ server->flags |= _GLIBTOP_INIT_STATE_SERVER;
- return;
+ server->features = -1;
+ break;
}
/* If the server has been started, ask it for its features. */
@@ -64,5 +80,8 @@ glibtop_open_l (glibtop *server, const char *program_name,
sizeof (glibtop_sysdeps), &sysdeps);
server->features = sysdeps.features;
+
+ fprintf (stderr, "Server features are %lu.\n",
+ server->features);
}
}