0

I need to make a script that works smoothly with Python2.7 to run under Python2.6: The script is using multiprocessing.Queue from multiprocessing import Process, Queue, Manager and there seem to be some compatibility issues. I get this when launching the script:

  File "gateway.py", line 510, in <module>
    NodeQ = Queue()             # Queue holding the node strrings for processing
  File "/usr/lib/python2.6/multiprocessing/__init__.py", line 213, in Queue
    return Queue(maxsize)
  File "/usr/lib/python2.6/multiprocessing/queues.py", line 37, in __init__
    self._rlock = Lock()
  File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 117, in __init__
    SemLock.__init__(self, SEMAPHORE, 1, 1)
  File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
    sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented

How can I make this compatible?

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
stdcerr
  • 13,725
  • 25
  • 71
  • 128
  • 2
    Maybe related? http://stackoverflow.com/questions/6033599/oserror-38-errno-38-with-multiprocessing – Nikolai Tschacher Jan 12 '14 at 00:53
  • @Nikolai Tschacher yes, very much related, from there onwards I just kept clicking on links and figured out that my system is missing `/dev/shm` - thus the error... – stdcerr Jan 12 '14 at 03:07

0 Answers0