- 论坛徽章:
- 0
|
本帖最后由 abnerle 于 2012-07-21 15:51 编辑
/usr/include/pthread.h:722: warning: '__regparm__' attribute directive ignored
xcb_io.c: In function 'check_internal_connections':
xcb_io.c:90: error: impossible constraint in 'asm'
xcb_io.c:112: error: impossible constraint in 'asm'
make[3]: *** [xcb_io.lo] 错误 1
make[3]: Leaving directory `/home/gtk/libX11-1.4.2/src'
make[2]: *** [all-recursive] 错误 1
看源代码,没什么问题,什么问题?
static void check_internal_connections(Display *dpy)
{
struct _XConnectionInfo *ilist;
fd_set r_mask;
struct timeval tv;
int result;
int highest_fd = -1;
if(dpy->flags & XlibDisplayProcConni || !dpy->im_fd_info)
return;
FD_ZERO(&r_mask); //第90行的内容,没看出什么问题
for(ilist = dpy->im_fd_info; ilist; ilist = ilist->next)
{
assert(ilist->fd >= 0);
FD_SET(ilist->fd, &r_mask);
if(ilist->fd > highest_fd)
highest_fd = ilist->fd;
}
assert(highest_fd >= 0);
tv.tv_sec = 0;
tv.tv_usec = 0;
result = select(highest_fd + 1, &r_mask, NULL, NULL, &tv);
if(result == -1)
{
if(errno == EINTR)
return;
_XIOError(dpy);
}
for(ilist = dpy->im_fd_info; result && ilist; ilist = ilist->next)
if(FD_ISSET(ilist->fd, &r_mask))
{
_XProcessInternalConnection(dpy, ilist);
--result;
}
}
static PendingRequest *append_pending_request(Display *dpy, unsigned long sequence)
{
PendingRequest *node = malloc(sizeof(PendingRequest));
assert(node);
node->next = NULL;
node->sequence = sequence;
node->reply_waiter = 0;
if(dpy->xcb->pending_requests_tail)
{
assert(XLIB_SEQUENCE_COMPARE(dpy->xcb->pending_requests_tail->sequence, <, node->sequence));
assert(dpy->xcb->pending_requests_tail->next == NULL);
dpy->xcb->pending_requests_tail->next = node;
}
else
dpy->xcb->pending_requests = node;
dpy->xcb->pending_requests_tail = node;
return node;
}
|
|