summaryrefslogtreecommitdiff
path: root/src/ipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipc.c')
-rw-r--r--src/ipc.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/ipc.c b/src/ipc.c
index efdb8ce..a55e22e 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -21,8 +21,19 @@ char* read_queue(mqd_t target) {
return buf;
}
-void send_queue(mqd_t target, const char* msg) {
- mq_send(target, msg, sizeof(msg), 0);
+void send_queue(mqd_t target, const char* msg, int n) {
+ mq_send(target, msg, n, 0);
+}
+
+int get_num_messages(mqd_t target) {
+ struct mq_attr target_attr;
+
+ if (mq_getattr(target, &target_attr) == -1) {
+ perror("mq_getattr");
+ exit(1);
+ }
+
+ return target_attr.mq_curmsgs;
}
#endif // IPC_C