fix pthread error handling
[ust.git] / libust / tracectl.c
index 2fccb1caab9d73deef930469a29cd842ccb50a50..1dee6165abc3dbad9cefcc6ec517cc39b7085b7a 100644 (file)
@@ -123,28 +123,6 @@ static void print_markers(FILE *fp)
 
 static int init_socket(void);
 
-int fd_notif = -1;
-void notif_cb(void)
-{
-       int result;
-       struct trctl_msg msg;
-
-       /* FIXME: fd_notif should probably be protected by a spinlock */
-
-       if(fd_notif == -1)
-               return;
-
-       msg.type = MSG_NOTIF;
-       msg.size = sizeof(msg.type);
-
-       /* FIXME: don't block here */
-       result = write(fd_notif, &msg, msg.size+sizeof(msg.size));
-       if(result == -1) {
-               PERROR("write");
-               return;
-       }
-}
-
 /* Ask the daemon to collect a trace called trace_name and being
  * produced by this pid.
  *
@@ -707,14 +685,14 @@ static int do_cmd_put_subbuffer(const char *recvbuf, struct ustcomm_source *src)
 
        DBG("put_subbuf");
 
-       channel_and_cpu = strdup_malloc(nth_token(recvbuf, 1));
+       channel_and_cpu = strdup(nth_token(recvbuf, 1));
        if(channel_and_cpu == NULL) {
                ERR("cannot parse channel");
                retval = -1;
                goto end;
        }
 
-       consumed_old_str = strdup_malloc(nth_token(recvbuf, 2));
+       consumed_old_str = strdup(nth_token(recvbuf, 2));
        if(consumed_old_str == NULL) {
                ERR("cannot parse consumed_old");
                retval = -1;
@@ -1007,55 +985,6 @@ int process_client_cmd(char *recvbuf, struct ustcomm_source *src)
 
                free(reply);
        }
-//             else if(nth_token_is(recvbuf, "get_notifications", 0) == 1) {
-//                     struct ust_trace *trace;
-//                     char trace_name[] = "auto";
-//                     int i;
-//                     char *channel_name;
-//
-//                     DBG("get_notifications");
-//
-//                     channel_name = strdup_malloc(nth_token(recvbuf, 1));
-//                     if(channel_name == NULL) {
-//                             ERR("put_subbuf_size: cannot parse channel");
-//                             goto next_cmd;
-//                     }
-//
-//                     ltt_lock_traces();
-//                     trace = _ltt_trace_find(trace_name);
-//                     ltt_unlock_traces();
-//
-//                     if(trace == NULL) {
-//                             ERR("cannot find trace!");
-//                             return (void *)1;
-//                     }
-//
-//                     for(i=0; i<trace->nr_channels; i++) {
-//                             struct rchan *rchan = trace->channels[i].trans_channel_data;
-//                             int fd;
-//
-//                             if(!strcmp(trace->channels[i].channel_name, channel_name)) {
-//                                     struct rchan_buf *rbuf = rchan->buf;
-//                                     struct ltt_channel_buf_struct *lttbuf = trace->channels[i].buf;
-//
-//                                     result = fd = ustcomm_app_detach_client(&ustcomm_app, src);
-//                                     if(result == -1) {
-//                                             ERR("ustcomm_app_detach_client failed");
-//                                             goto next_cmd;
-//                                     }
-//
-//                                     lttbuf->wake_consumer_arg = (void *) fd;
-//
-//                                     smp_wmb();
-//
-//                                     lttbuf->call_wake_consumer = 1;
-//
-//                                     break;
-//                             }
-//                     }
-//
-//                     free(channel_name);
-//             }
        else {
                ERR("unable to parse message: %s", recvbuf);
        }
@@ -1374,12 +1303,12 @@ static void stop_listener()
        int result;
 
        result = pthread_cancel(listener_thread);
-       if(result == -1) {
-               PERROR("pthread_cancel");
+       if(result != 0) {
+               ERR("pthread_cancel: %s", strerror(result));
        }
        result = pthread_join(listener_thread, NULL);
-       if(result == -1) {
-               PERROR("pthread_join");
+       if(result != 0) {
+               ERR("pthread_join: %s", strerror(result));
        }
 }
 
This page took 0.024067 seconds and 4 git commands to generate.