[Xcb] socket handoff problems
Clemens Eisserer
linuxhippy at gmail.com
Thu Jan 15 08:58:38 PST 2009
Hi,
I still was not able to resolve the problems I experience with
socket-handoff, I already wrote an Email about that about two weeks
ago.
I've created a simple test-case which basically only renders
rectangles mixing the XRender API and self-generated protocol.
When resizing the window, or switching focus between the test-case
window and another one, I often see the client blocking, waiting for
the XServer:
#0 0x00110416 in __kernel_vsyscall ()
#1 0x009885bd in ___newselect_nocancel () from /lib/libc.so.6
#2 0x00118035 in _xcb_conn_wait () from /opt/xorg/lib/libxcb.so.1
#3 0x0011a33a in xcb_wait_for_reply () from /opt/xorg/lib/libxcb.so.1
#4 0x00169078 in _XReply () from /opt/xorg/lib/libX11.so.6
#5 0x001627fb in _XPrivSyncFunction () from /opt/xorg/lib/libX11.so.6
#6 0x00242c42 in XRenderFillRectangle () from /opt/xorg/lib/libXrender.so.1
#7 0x08049115 in main ()
All I do is basically:
for(x=0; x < 1000; x++) {
int flags = 0; uint64_t sent;
xcb_take_socket(con, &return_socket, &flags, flags, &sent);
struct iovec vect;
vect.iov_base = buffer; //buffer contains 1000 XRenderFillRetcangles
vect.iov_len = buffer_len;
xcb_writev(con, &vect, 1, 1000);
}
return_socket does nothing for my testcase.
The problem is completly halting progress of the open-source program I
am working on: http://78.31.67.79:8080/jxrender/
Sorry that I bother you again with that issue, but I don't know C very
well and I am completly unexperienced with posix functions.
Please, could somebody take a look at it.
Sorry for all the traffic and thank you in advnace, Clemens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xcb_handoff.c
Type: application/octet-stream
Size: 5421 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/xcb/attachments/20090115/c254770b/attachment.obj
More information about the Xcb
mailing list