EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Problem with cothread-1-12 on MacOSX (Leopard)
From: Juan Carlos Guzman <[email protected]>
To: Michael Abbott <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Tue, 10 Mar 2009 15:28:17 +1100
Hello Michael,

I tried to run the cothread library on MacOSX (Leopard) with Python 2.5.4 and the following error is displayed:

>>> from cothread.catools import *
>>> Exception caught by readline hook
Traceback (most recent call last):
File "build/bdist.macosx-10.3-i386/egg/cothread/input_hook.py", line 72, in _readline_hook
    poll_list, timeout = _scheduler.poll_scheduler(ready_list)
File "build/bdist.macosx-10.3-i386/egg/cothread/cothread.py", line 282, in __scheduler
    self.__schedule_loop()
File "build/bdist.macosx-10.3-i386/egg/cothread/cothread.py", line 355, in __schedule_loop
    self.__wakeup_poll(self.__poll_suspend(delay))
File "build/bdist.macosx-10.3-i386/egg/cothread/cothread.py", line 507, in __wakeup_poll
    for poller in self.__poll_queue[file]:
KeyError: 0

This error is repeated multiple times and the only way to kill it is via kill command. I'm using numpy 1.1.1 and greenlet 0.2

A few things I found trying to make it work on my Mac:
1) MacOSX comes with Python 2.5.1 which for some reason, the select module does not support poll() method and therefore the cothread library fails when assigning POLL's constants. I recommend to upgrade to Python 2.5.4 which fixes that issue.

2) Even with Python 2.5.4, the select module does not have the POLLMSG attribute. According to the poll.h header, MacOSX (based on BSD UNIX kernel) does not support POLLMSG. I tried to set the POLLMSG attribute on coselect.py to 0 without success.

3) This issue does not appear in Linux.

Any idea how to solve this issue for Mac? Is the POLLMSG attribute used later in the code? thanks in advance.

  Juan Carlos.

----------
Juan Carlos Guzman
Software Engineer
CSIRO Australia Telescope National Facility (ATNF)
P.O.Box 76, Epping NSW 1710, Australia
Phone: +61 2 9372 4457
Fax: +61 2 9372 4310
Email: [email protected]






References:
Python Channel Access bindings Michael Abbott

Navigate by Date:
Prev: RE: edm version 1-11-1zl and fedora 10 Rees, NP (Nick)
Next: makeBaseApp Zhichu Chen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Python Channel Access bindings Michael Abbott
Next: Firewall configuration? Chris Jacobsen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·