On Feb 26, 2013, at 5:41 AM, Charles Forsyth <charles.fors...@gmail.com> wrote:

> In other words, I'd fix select, and then change whatever else needs to be 
> changed (if anything does) if X11 then stops working.


If I'm interpreting this correctly, as well as the select() code,
then by removing that block from the "ensure buffered" loop the
slot selection loop should work as intended and return if any
error or read fds are ready.

It is possible that _buf.c:327 may be incorrect for actually
handling an error.  This requires some additional setup and
testing before being able to be proven.  I'm also looking for
additional APE examples that actually use select() to see if
there are any other changes required.  So far I've only found
Python and X11.

If someone has X11 and wants to test this change w/o completely
replacing /$objtype/lib/ape/libap.a, drop the edited _buf.c file
into your X11 source and add _buf.$O to your mkfile w/

pcc -c -I/sys/src/ape/lib/ap/plan9 -D_POSIX_SOURCE -D_PLAN9_SOURCE 
-D_BSD_EXTENSION _buf.c


-jas


Reply via email to