Как получить доступ к мьютексу, созданному процессом C ++ в процессе Python? - PullRequest
1 голос
/ 22 июня 2019

Я планирую использовать boost::interprocess для разделения памяти между процессами C ++ и Python.Предполагая, что мне понадобится мьютекс, предоставляемый boost, чтобы убедиться, что только один процесс получает доступ к памяти, как заставить python подтверждать и разблокировать / блокировать мьютекс, созданный boost?

1 Ответ

0 голосов
/ 23 июня 2019

Кажется, есть два очевидных подхода:

Используя пример в ссылке выше и некоторые догадки, вы получите что-то вроде этого:

   static PyObject *mySharedMutex_lock(PyObject *self, PyObject *args)
   {
       const char *objectName;
       int sts;

       if (!PyArg_ParseTuple(args, "s", &objectName))
       {
           return NULL;
       }
       boost::interprocess::named_mutex mutex(open_or_create, objectName);
       mutex.lock();
       return Py_None;
   }

Очевидно, что вам понадобится другая контрольная панель из инструкций по ссылке выше, и, вероятно, для обеспечения способа разблокировки мьютекса. Не выглядит обременительным, чтобы заставить это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...