Build fix: retrieve unix socket peer PID on non-unix platforms
[lttng-tools.git] / src / common / runas.c
index 09fdaf40aaa172356dc7957c5ea072e99a7d0e04..04aedc3e69a00b14a5ffa0d24798d51d0d0c602e 100644 (file)
@@ -124,7 +124,7 @@ struct run_as_extract_elf_symbol_offset_ret {
 
 struct run_as_extract_sdt_probe_offsets_ret {
        uint32_t num_offset;
-       uint64_t offsets[LTTNG_KERNEL_MAX_UPROBE_NUM];
+       uint64_t offsets[LTTNG_KERNEL_ABI_MAX_UPROBE_NUM];
 } LTTNG_PACKED;
 
 struct run_as_generate_filter_bytecode_ret {
@@ -607,7 +607,7 @@ int _extract_sdt_probe_offsets(struct run_as_data *data,
                goto end;
        }
 
-       if (num_offset <= 0 || num_offset > LTTNG_KERNEL_MAX_UPROBE_NUM) {
+       if (num_offset <= 0 || num_offset > LTTNG_KERNEL_ABI_MAX_UPROBE_NUM) {
                DBG("Wrong number of probes.");
                ret = -1;
                ret_value->_error = true;
@@ -730,7 +730,7 @@ int do_send_fds(int sock, const int *fds, unsigned int fd_count)
 
        for (i = 0; i < fd_count; i++) {
                if (fds[i] < 0) {
-                       ERR("Attempt to send invalid file descriptor to master (fd = %i)",
+                       DBG("Attempt to send invalid file descriptor (fd = %i)",
                                        fds[i]);
                        /* Return 0 as this is not a fatal error. */
                        return 0;
@@ -818,10 +818,14 @@ int send_fds_to_master(struct run_as_worker *worker, enum run_as_cmd cmd,
        }
 
        for (i = 0; i < COMMAND_OUT_FD_COUNT(cmd); i++) {
-               int ret_close = close(COMMAND_OUT_FDS(cmd, run_as_ret)[i]);
+               int fd = COMMAND_OUT_FDS(cmd, run_as_ret)[i];
+               if (fd >= 0) {
+                       int ret_close = close(fd);
 
-               if (ret_close < 0) {
-                       PERROR("Failed to close result file descriptor");
+                       if (ret_close < 0) {
+                               PERROR("Failed to close result file descriptor (fd = %i)",
+                                               fd);
+                       }
                }
        }
 end:
@@ -1299,6 +1303,9 @@ int run_as_create_worker_no_lock(const char *procname,
                reset_sighandler();
 
                set_worker_sighandlers();
+
+               logger_set_thread_name("Run-as worker", true);
+
                if (clean_up_func) {
                        if (clean_up_func(clean_up_user_data) < 0) {
                                ERR("Run-as post-fork clean-up failed, exiting.");
This page took 0.025534 seconds and 4 git commands to generate.