Skip to content

Commit

Permalink
fix: replace uint32_t for pid_t for process ids (#345)
Browse files Browse the repository at this point in the history
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
  • Loading branch information
veqcc authored Feb 3, 2025
1 parent 4c9fbc9 commit 349fc00
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion kmod/agnocast.c
Original file line number Diff line number Diff line change
Expand Up @@ -1481,7 +1481,7 @@ static void pre_handler_publisher_exit(struct topic_wrapper * wrapper, const pid
#define EXIT_QUEUE_SIZE_BITS 10 // arbitrary size
#define EXIT_QUEUE_SIZE (1U << EXIT_QUEUE_SIZE_BITS)
static DEFINE_SPINLOCK(pid_queue_lock);
static uint32_t exit_pid_queue[EXIT_QUEUE_SIZE];
static pid_t exit_pid_queue[EXIT_QUEUE_SIZE];
static uint32_t queue_head;
static uint32_t queue_tail;

Expand Down
2 changes: 1 addition & 1 deletion src/agnocastlib/include/agnocast_mq.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace agnocast

struct MqMsgNewPublisher
{
uint32_t publisher_pid;
pid_t publisher_pid;
uint64_t shm_addr;
uint64_t shm_size;
};
Expand Down
2 changes: 1 addition & 1 deletion src/agnocastlib/include/agnocast_subscription.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
namespace agnocast
{

void map_read_only_area(const uint32_t pid, const uint64_t shm_addr, const uint64_t shm_size);
void map_read_only_area(const pid_t pid, const uint64_t shm_addr, const uint64_t shm_size);

struct SubscriptionOptions
{
Expand Down
4 changes: 2 additions & 2 deletions src/agnocastlib/include/agnocast_utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ extern rclcpp::Logger logger;

void validate_ld_preload();
std::string create_mq_name(const std::string & topic_name, const topic_local_id_t id);
std::string create_shm_name(const uint32_t pid);
std::string create_mq_name_new_publisher(const uint32_t pid);
std::string create_shm_name(const pid_t pid);
std::string create_mq_name_new_publisher(const pid_t pid);
uint64_t agnocast_get_timestamp();

} // namespace agnocast
10 changes: 5 additions & 5 deletions src/agnocastlib/src/agnocast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ bool ok()
return is_running.load();
}

bool already_mapped(const uint32_t pid)
bool already_mapped(const pid_t pid)
{
static pthread_mutex_t mapped_pid_mtx = PTHREAD_MUTEX_INITIALIZER;
static std::set<uint32_t> mapped_publisher_pids;
static std::set<pid_t> mapped_publisher_pids;

pthread_mutex_lock(&mapped_pid_mtx);
const bool inserted = mapped_publisher_pids.insert(pid).second;
Expand All @@ -39,7 +39,7 @@ bool already_mapped(const uint32_t pid)
}

void * map_area(
const uint32_t pid, const uint64_t shm_addr, const uint64_t shm_size, const bool writable)
const pid_t pid, const uint64_t shm_addr, const uint64_t shm_size, const bool writable)
{
const std::string shm_name = create_shm_name(pid);

Expand Down Expand Up @@ -79,7 +79,7 @@ void * map_area(
return ret;
}

void * map_writable_area(const uint32_t pid, const uint64_t shm_addr, const uint64_t shm_size)
void * map_writable_area(const pid_t pid, const uint64_t shm_addr, const uint64_t shm_size)
{
if (already_mapped(pid)) {
RCLCPP_ERROR(logger, "map_writeable_area failed");
Expand All @@ -90,7 +90,7 @@ void * map_writable_area(const uint32_t pid, const uint64_t shm_addr, const uint
return map_area(pid, shm_addr, shm_size, true);
}

void map_read_only_area(const uint32_t pid, const uint64_t shm_addr, const uint64_t shm_size)
void map_read_only_area(const pid_t pid, const uint64_t shm_addr, const uint64_t shm_size)
{
if (already_mapped(pid)) {
return;
Expand Down
4 changes: 2 additions & 2 deletions src/agnocastlib/src/agnocast_subscription.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ static void wait_for_new_publisher(const pid_t subscriber_pid)
exit(EXIT_FAILURE);
}

const uint32_t publisher_pid = mq_msg.publisher_pid;
const pid_t publisher_pid = mq_msg.publisher_pid;
const uint64_t publisher_shm_addr = mq_msg.shm_addr;
const uint64_t publisher_shm_size = mq_msg.shm_size;
map_read_only_area(publisher_pid, publisher_shm_addr, publisher_shm_size);
Expand Down Expand Up @@ -96,7 +96,7 @@ union ioctl_subscriber_args SubscriptionBase::initialize(bool is_take_sub)
continue;
}

const uint32_t pid = subscriber_args.ret_publisher_pids[i];
const pid_t pid = subscriber_args.ret_publisher_pids[i];
const uint64_t addr = subscriber_args.ret_shm_addrs[i];
const uint64_t size = subscriber_args.ret_shm_sizes[i];
map_read_only_area(pid, addr, size);
Expand Down
4 changes: 2 additions & 2 deletions src/agnocastlib/src/agnocast_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ std::string create_mq_name(const std::string & topic_name, const topic_local_id_
return mq_name;
}

std::string create_shm_name(const uint32_t pid)
std::string create_shm_name(const pid_t pid)
{
return "/agnocast@" + std::to_string(pid);
}

std::string create_mq_name_new_publisher(const uint32_t pid)
std::string create_mq_name_new_publisher(const pid_t pid)
{
return "/new_publisher@" + std::to_string(pid);
}
Expand Down

0 comments on commit 349fc00

Please sign in to comment.