Re: Calling pselect/ppoll/epoll_pwait
On 3 Dec 2022, at 13:13, Weatherby,Gerard wrote: Signalfd and select could probably be made to work if one codes around the race conditions pselect is provided to avoid. I’m not sure if using the GIL (for CPython) is sufficient or if a dedicated concurrency control (e.g. lock, mutex, semaphore) is necessary. An alternative is to call the C library function via a wrapper. I had need to use setfsuid on a project a couple of years ago and found this example: [1]https://gist.github.com/atdt/ebafa299e843a767139b I read this on SO when researching your question. Search for epoll and signal. (I would post the link but ipad turns the link into an image…) I assume that the lack of pepoll means you can use epoll and signalfd without race conditions. The trick seems to be setting the signal to ignore. Barry From: Python-list on behalf of Barry Date: Friday, December 2, 2022 at 7:02 PM To: Ian Pilcher Cc: python-list@python.org Subject: Re: Calling pselect/ppoll/epoll_pwait *** Attention: This is an external email. Use caution responding, opening attachments or clicking on links. *** > On 2 Dec 2022, at 20:03, Ian Pilcher wrote: > > Does Python provide any way to call the "p" variants of the I/O > multiplexing functions? > > Looking at the documentation of the select[1] and selectors[2] modules, > it appears that they expose only the "non-p" variants. > > [1] [2]https://urldefense.com/v3/__https://docs.python.org/3/library/select.html__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_OD5qBjeA$ > [2] [3]https://urldefense.com/v3/__https://docs.python.org/3/library/selectors.html__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_MwNjgO8A$ Can you use signalfd and select/poll/epoll? Barry > > -- > > Google Where SkyNet meets Idiocracy > > -- > [4]https://urldefense.com/v3/__https://mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_PhasKBfg$ > -- [5]https://urldefense.com/v3/__https://mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_PhasKBfg$ References Visible links 1. https://gist.github.com/atdt/ebafa299e843a767139b 2. https://urldefense.com/v3/__https:/docs.python.org/3/library/select.html__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_OD5qBjeA$ 3. https://urldefense.com/v3/__https:/docs.python.org/3/library/selectors.html__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_MwNjgO8A$ 4. https://urldefense.com/v3/__https:/mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_PhasKBfg$ 5. https://urldefense.com/v3/__https:/mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!hClFFo4XdiwQAhHxDbHA5zFr490Of9uheHSf84V9cREMHyw1kX-baG5HzXWMt-hFLP30q6DpSUb2G_PhasKBfg$ -- https://mail.python.org/mailman/listinfo/python-list
unable to resolve readline issues
Dear Sir: For whatever reason I have lost functionality of using Python 3.11. While opening Python (standalone or from CMD prompt) as usual this AM the following message appeared. Did read that it is not compatible with Windows but I can't get it to work as I don't know what module will load. Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Failed calling sys.__interactivehook__ Traceback (most recent call last): File "", line 445, in register_readline File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\re adline.py", line 34, in rl = Readline() ^^ File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\py readline\rlmain.py", line 422, in __init__ BaseReadline.__init__(self) File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\py readline\rlmain.py", line 62, in __init__ mode.init_editing_mode(None) File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\py readline\modes\emacs.py", line 633, in init_editing_mode self._bind_key('space', self.self_insert) File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\py readline\modes\basemode.py", line 162, in _bind_key if not callable(func): ^^ File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\py readline\py3k_compat.py", line 8, in callable return isinstance(x, collections.Callable)rer AttributeError: module 'collections' has no attribute 'Callable' >From this point on Python became unusable as I uninstalled rebooted then reinstalled to find I have the same issues as stated. Finally uninstalled Python as it doesn't perform as usual especially trying to understand the use of pyreadline, gnureadline and or just readline. If you can help great. Regards, Leon Pearlman -- https://mail.python.org/mailman/listinfo/python-list
Re: unable to resolve readline issues
On 12/2/22, biglee12...@gmail.com wrote: > > From this point on Python became unusable as I uninstalled rebooted then > reinstalled to find I have the same issues as stated. Finally uninstalled > Python as it doesn't perform as usual especially trying to understand the > use of pyreadline, gnureadline and or just readline. When Python runs interactively, it implicitly tries to import the readline module. On POSIX, Python has a builtin readline module that usually uses the GNU Readline library. On Windows, Python does not include a readline module. Instead, if standard I/O is a console, the high-level WinAPI ReadConsoleW() function is used, which implements its own line editor and command-line history. It's not as general, flexible, or capable as the readline interface, so a third-party pyreadline package was implemented for Windows. However, as far as I know, pyreadline is no longer actively developed. Thus it has out-of-date code, which may be broken in newer releases of Python, such as isinstance(x, collections.Callable). Your choice is to either patch pyreadline to fix the bug or uninstall it. -- https://mail.python.org/mailman/listinfo/python-list
Re: unable to resolve readline issues
On 2022-12-02 22:38, biglee12...@gmail.com wrote: > Dear Sir: > > For whatever reason I have lost functionality of using Python 3.11. While > opening Python (standalone or from CMD prompt) as usual this AM the > following message appeared. Did read that it is not compatible with > Windows but I can't get it to work as I don't know what module will load. > > Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > Failed calling sys.__interactivehook__ > Traceback (most recent call last): >File "", line 445, in register_readline >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\readline.py", line 34, in > rl = Readline() > ^^ >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyreadline\rlmain.py", line 422, in __init__ > BaseReadline.__init__(self) >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyreadline\rlmain.py", line 62, in __init__ > mode.init_editing_mode(None) >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode > self._bind_key('space', self.self_insert) >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key > if not callable(func): > ^^ >File "C:\Users\bigle\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyreadline\py3k_compat.py", line 8, in callable > return isinstance(x, collections.Callable)rer > > AttributeError: module 'collections' has no attribute 'Callable' > > From this point on Python became unusable as I uninstalled rebooted then > reinstalled to find I have the same issues as stated. Finally uninstalled > Python as it doesn't perform as usual especially trying to understand the > use of pyreadline, gnureadline and or just readline. > > If you can help great. > > Regards, > Leon Pearlman > Looking at PyPI, it appears that it was last supported on Python 3.5. I'd suggest that after uninstalling Python, you delete the Python folder if it's still there (because of any installed 3rd-party modules) before re-installing. -- https://mail.python.org/mailman/listinfo/python-list
Re: unable to resolve readline issues
On 04/12/2022 17:08, Eryk Sun wrote: > On 12/2/22, biglee12...@gmail.com wrote: >> >> From this point on Python became unusable as I uninstalled rebooted then >> reinstalled to find I have the same issues as stated. Finally uninstalled >> Python as it doesn't perform as usual especially trying to understand the >> use of pyreadline, gnureadline and or just readline. > > When Python runs interactively, it implicitly tries to import the > readline module. On POSIX, Python has a builtin readline module that > usually uses the GNU Readline library. > > On Windows, Python does not include a readline module. Instead, if > standard I/O is a console, the high-level WinAPI ReadConsoleW() > function is used, which implements its own line editor and > command-line history. It's not as general, flexible, or capable as the > readline interface, so a third-party pyreadline package was > implemented for Windows. However, as far as I know, pyreadline is no > longer actively developed. Thus it has out-of-date code, which may be > broken in newer releases of Python, such as isinstance(x, > collections.Callable). > > Your choice is to either patch pyreadline to fix the bug or uninstall it. (*) How to patch it Open the file Lib/site-packages/pyreadline/py3k_compat.py and locate the procedure def callable(x): return isinstance(x, collections.Callable) Change it to def callable(x): return isinstance(x, collections.abc.Callable) You're done. -- https://mail.python.org/mailman/listinfo/python-list