projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ustcomm: use connections; don't reconnect at every message
[ust.git]
/
ustd
/
ustd.c
diff --git
a/ustd/ustd.c
b/ustd/ustd.c
index 830d5e26441fe368b975b2c8b75fe44dd5e93060..b66f1ced7e9e83788ee88ce00a72012464f83388 100644
(file)
--- a/
ustd/ustd.c
+++ b/
ustd/ustd.c
@@
-35,6
+35,7
@@
struct list_head buffers = LIST_HEAD_INIT(buffers);
struct buffer_info {
char *name;
pid_t pid;
struct buffer_info {
char *name;
pid_t pid;
+ struct ustcomm_connection conn;
int shmid;
void *mem;
int shmid;
void *mem;
@@
-207,9
+208,16
@@
int add_buffer(pid_t pid, char *bufname)
buf->name = bufname;
buf->pid = pid;
buf->name = bufname;
buf->pid = pid;
+ /* connect to app */
+ result = ustcomm_connect_app(buf->pid, &buf->conn);
+ if(result) {
+ ERR("unable to connect to process");
+ return -1;
+ }
+
/* get shmid */
asprintf(&send_msg, "get_shmid %s", buf->name);
/* get shmid */
asprintf(&send_msg, "get_shmid %s", buf->name);
-
send_message(pid
, send_msg, &received_msg);
+
ustcomm_send_request(&buf->conn
, send_msg, &received_msg);
free(send_msg);
DBG("got buffer name %s", buf->name);
free(send_msg);
DBG("got buffer name %s", buf->name);
@@
-223,7
+231,7
@@
int add_buffer(pid_t pid, char *bufname)
/* get n_subbufs */
asprintf(&send_msg, "get_n_subbufs %s", buf->name);
/* get n_subbufs */
asprintf(&send_msg, "get_n_subbufs %s", buf->name);
-
send_message(pid
, send_msg, &received_msg);
+
ustcomm_send_request(&buf->conn
, send_msg, &received_msg);
free(send_msg);
result = sscanf(received_msg, "%d", &buf->n_subbufs);
free(send_msg);
result = sscanf(received_msg, "%d", &buf->n_subbufs);
@@
-236,7
+244,7
@@
int add_buffer(pid_t pid, char *bufname)
/* get subbuf size */
asprintf(&send_msg, "get_subbuf_size %s", buf->name);
/* get subbuf size */
asprintf(&send_msg, "get_subbuf_size %s", buf->name);
-
send_message(pid
, send_msg, &received_msg);
+
ustcomm_send_request(&buf->conn
, send_msg, &received_msg);
free(send_msg);
result = sscanf(received_msg, "%d", &buf->subbuf_size);
free(send_msg);
result = sscanf(received_msg, "%d", &buf->subbuf_size);
This page took
0.022948 seconds
and
4
git commands to generate.