projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add mode setting to socket directory creation
[ust.git]
/
libustconsumer
/
libustconsumer.c
diff --git
a/libustconsumer/libustconsumer.c
b/libustconsumer/libustconsumer.c
index 6cb3dbf3b472327c65b1a8363d552a23c6b042ec..eaee1fa61f358b6ec3145818ae5347994fcb6249 100644
(file)
--- a/
libustconsumer/libustconsumer.c
+++ b/
libustconsumer/libustconsumer.c
@@
-353,6
+353,10
@@
struct buffer_info *connect_buffer(struct ustconsumer_instance *instance, pid_t
goto close_fifo;
}
goto close_fifo;
}
+ /* Set subbuffer's information */
+ buf->subbuf_size_order = get_count_order(buf->subbuf_size);
+ buf->alloc_size = buf->subbuf_size * buf->n_subbufs;
+
/* attach memory */
buf->mem = shmat(buf->shmid, NULL, 0);
if(buf->mem == (void *) 0) {
/* attach memory */
buf->mem = shmat(buf->shmid, NULL, 0);
if(buf->mem == (void *) 0) {
@@
-422,6
+426,11
@@
static void destroy_buffer(struct ustconsumer_callbacks *callbacks,
{
int result;
{
int result;
+ result = close(buf->pipe_fd);
+ if(result == -1) {
+ WARN("problem closing the pipe fd");
+ }
+
result = close(buf->app_sock);
if(result == -1) {
WARN("problem calling ustcomm_close_app");
result = close(buf->app_sock);
if(result == -1) {
WARN("problem calling ustcomm_close_app");
@@
-445,7
+454,8
@@
static void destroy_buffer(struct ustconsumer_callbacks *callbacks,
int consumer_loop(struct ustconsumer_instance *instance, struct buffer_info *buf)
{
int consumer_loop(struct ustconsumer_instance *instance, struct buffer_info *buf)
{
- int result, read_result;
+ int result = 0;
+ int read_result;
char read_buf;
pthread_cleanup_push(decrement_active_buffers, instance);
char read_buf;
pthread_cleanup_push(decrement_active_buffers, instance);
@@
-487,6
+497,7
@@
int consumer_loop(struct ustconsumer_instance *instance, struct buffer_info *buf
/* Skip the first subbuffer. We are not sure it is trustable
* because the put_subbuffer() did not complete.
*/
/* Skip the first subbuffer. We are not sure it is trustable
* because the put_subbuffer() did not complete.
*/
+ /* TODO: check on_put_error return value */
if(instance->callbacks->on_put_error)
instance->callbacks->on_put_error(instance->callbacks, buf);
if(instance->callbacks->on_put_error)
instance->callbacks->on_put_error(instance->callbacks, buf);
@@
-598,7
+609,7
@@
int start_consuming_buffer(struct ustconsumer_instance *instance, pid_t pid,
args->channel_cpu = channel_cpu;
args->instance = instance;
DBG("beginning2 of start_consuming_buffer: args: pid %d trace %s"
args->channel_cpu = channel_cpu;
args->instance = instance;
DBG("beginning2 of start_consuming_buffer: args: pid %d trace %s"
- " bufname %s_%d", args->pid, args->channel, args->channel_cpu);
+ " bufname %s_%d", args->pid, args->
trace, args->
channel, args->channel_cpu);
result = pthread_create(&thr, NULL, consumer_thread, args);
if(result == -1) {
result = pthread_create(&thr, NULL, consumer_thread, args);
if(result == -1) {
@@
-611,7
+622,7
@@
int start_consuming_buffer(struct ustconsumer_instance *instance, pid_t pid,
return -1;
}
DBG("end of start_consuming_buffer: args: pid %d trace %s "
return -1;
}
DBG("end of start_consuming_buffer: args: pid %d trace %s "
- "bufname %s_%d", args->pid, args->channel, args->channel_cpu);
+ "bufname %s_%d", args->pid, args->channel, args->
trace, args->
channel_cpu);
return 0;
}
return 0;
}
@@
-619,7
+630,7
@@
static void process_client_cmd(int sock, struct ustcomm_header *req_header,
char *recvbuf, struct ustconsumer_instance *instance)
{
int result;
char *recvbuf, struct ustconsumer_instance *instance)
{
int result;
- struct ustcomm_header _res_header;
+ struct ustcomm_header _res_header
= {0}
;
struct ustcomm_header *res_header = &_res_header;
struct ustcomm_buffer_info *buf_inf;
struct ustcomm_header *res_header = &_res_header;
struct ustcomm_buffer_info *buf_inf;
@@
-835,7
+846,7
@@
static int init_ustconsumer_socket(struct ustconsumer_instance *instance)
int result;
/* Only check if socket dir exists if we are using the default directory */
int result;
/* Only check if socket dir exists if we are using the default directory */
- result = ensure_dir_exists(SOCK_DIR);
+ result = ensure_dir_exists(SOCK_DIR
, S_IRWXU | S_IRWXG | S_IRWXO
);
if (result == -1) {
ERR("Unable to create socket directory %s", SOCK_DIR);
return -1;
if (result == -1) {
ERR("Unable to create socket directory %s", SOCK_DIR);
return -1;
This page took
0.024302 seconds
and
4
git commands to generate.