1 |
On 03/25/2011 05:23 PM, Zac Medico wrote: |
2 |
>> * EbuildProcess received strange poll event: 16384 |
3 |
|
4 |
> You can compare 16384 to the values of POLLERR and POLLNVAL in order to |
5 |
> see what type of event it is. Apparently the values on AIX are different |
6 |
> from those on Linux, because here's what I see on Linux: |
7 |
|
8 |
On AIX 5.3 this is: |
9 |
|
10 |
Python 2.7.1 (r271:86832, Feb 28 2011, 17:51:02) |
11 |
[GCC 4.2.4 (Gentoo 4.2.4-r01.2 p1.1)] on aix5 |
12 |
Type "help", "copyright", "credits" or "license" for more information. |
13 |
>>> import select |
14 |
>>> dir(select) |
15 |
['PIPE_BUF', 'POLLERR', 'POLLHUP', 'POLLIN', 'POLLMSG', 'POLLNVAL', 'POLLOUT', |
16 |
'POLLPRI', 'POLLRDBAND', 'POLLRDNORM', 'POLLWRBAND', 'POLLWRNORM', '__doc__', |
17 |
'__file__', '__name__', '__package__', 'error', 'poll', 'select'] |
18 |
>>> select.POLLNVAL |
19 |
32768 |
20 |
>>> select.POLLERR |
21 |
16384 |
22 |
|
23 |
On AIX 6.1 it looks similar except for missing 'PIPE_BUF'. |
24 |
|
25 |
> This will handle the IOError: |
26 |
> http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0a64f784003c11e151405b7f708d77770de0ed57 |
27 |
|
28 |
Yes, that makes it work, thank you! |
29 |
|
30 |
> It might be risky to skip logging of the POLLNVAL / POLLERR events, so |
31 |
> hopefully we can determine their cause and handle them somehow. Do they |
32 |
> seem to cause any problems? It might be something specific about pty |
33 |
> devices on AIX. |
34 |
|
35 |
There doesn't seem to go anything wrong so far. |
36 |
|
37 |
I've no idea about programming with pty devices at all. |
38 |
However, one relevant (IMHO) thing I can see is: |
39 |
portage/util/_pty.py:_can_test_pty_eof() returns True for Linux only. |
40 |
|
41 |
Anything I can try out? |
42 |
|
43 |
Thank you! |
44 |
/haubi/ |
45 |
-- |
46 |
Michael Haubenwallner |
47 |
Gentoo on a different level |