summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-05-29 22:58:17 +0200
committerCarl Hetherington <cth@carlh.net>2025-05-29 22:58:17 +0200
commitaf7de7b6fb50b137c667057c518bc98086503425 (patch)
tree96e92c7e093d68387db85ac52f1abb3ee36b8288
parentb9c2532d978790849281c630d3d28331ce2df044 (diff)
Cleanup: move Synch declaration out to its own header.
-rw-r--r--src/lib/grok/messenger.cc1
-rw-r--r--src/lib/grok/messenger.h35
-rw-r--r--src/lib/grok/synch.cc2
-rw-r--r--src/lib/grok/synch.h60
4 files changed, 67 insertions, 31 deletions
diff --git a/src/lib/grok/messenger.cc b/src/lib/grok/messenger.cc
index c460f55e5..29bda13b5 100644
--- a/src/lib/grok/messenger.cc
+++ b/src/lib/grok/messenger.cc
@@ -20,6 +20,7 @@
#include "shm.h"
+#include "synch.h"
#include "messenger.h"
diff --git a/src/lib/grok/messenger.h b/src/lib/grok/messenger.h
index 357f7a2ad..a3a23283f 100644
--- a/src/lib/grok/messenger.h
+++ b/src/lib/grok/messenger.h
@@ -33,6 +33,10 @@
namespace grk_plugin {
+
+class Synch;
+
+
static const std::string GRK_MSGR_BATCH_IMAGE = "GRK_MSGR_BATCH_IMAGE";
static const std::string GRK_MSGR_BATCH_COMPRESS_INIT = "GRK_MSGR_BATCH_COMPRESS_INIT";
static const std::string GRK_MSGR_BATCH_SUBMIT_UNCOMPRESSED = "GRK_MSGR_BATCH_SUBMIT_UNCOMPRESSED";
@@ -104,37 +108,6 @@ void setMessengerLogger(IMessengerLogger* logger);
IMessengerLogger* getMessengerLogger(void);
-enum SynchDirection
-{
- SYNCH_SENT,
- SYNCH_RECEIVE_READY
-};
-
-
-class Synch
-{
-public:
- Synch(char const* sent_sem_name, char const* receive_ready_sem_name);
- ~Synch();
-
- void post(SynchDirection dir);
- void wait(SynchDirection dir);
-
- void open();
- void close();
-
- void unlink();
-
-private:
- sem_t* _sent_sem;
- sem_t* _receive_ready_sem;
-
- std::string _sent_sem_name;
- std::string _receive_ready_sem_name;
-};
-
-
-
template<typename Data>
class MessengerBlockingQueue
{
diff --git a/src/lib/grok/synch.cc b/src/lib/grok/synch.cc
index 56bcf9436..ad3103e98 100644
--- a/src/lib/grok/synch.cc
+++ b/src/lib/grok/synch.cc
@@ -20,6 +20,7 @@
#include "messenger.h"
+#include "synch.h"
using namespace grk_plugin;
@@ -52,6 +53,7 @@ Synch::post(SynchDirection dir)
}
}
+
void
Synch::wait(SynchDirection dir)
{
diff --git a/src/lib/grok/synch.h b/src/lib/grok/synch.h
new file mode 100644
index 000000000..74ca35c29
--- /dev/null
+++ b/src/lib/grok/synch.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2023 Grok Image Compression Inc.
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include <semaphore.h>
+#include <string>
+
+
+namespace grk_plugin {
+
+
+enum SynchDirection
+{
+ SYNCH_SENT,
+ SYNCH_RECEIVE_READY
+};
+
+
+class Synch
+{
+public:
+ Synch(char const* sent_sem_name, char const* receive_ready_sem_name);
+ ~Synch();
+
+ void post(SynchDirection dir);
+ void wait(SynchDirection dir);
+
+ void open();
+ void close();
+
+ void unlink();
+
+private:
+ sem_t* _sent_sem;
+ sem_t* _receive_ready_sem;
+
+ std::string _sent_sem_name;
+ std::string _receive_ready_sem_name;
+};
+
+
+}
+