本文整理汇总了C++中Communicator::Sync方法的典型用法代码示例。如果您正苦于以下问题:C++ Communicator::Sync方法的具体用法?C++ Communicator::Sync怎么用?C++ Communicator::Sync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Communicator
的用法示例。
在下文中一共展示了Communicator::Sync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
static void *FramebufferDispenser(void *_args) {
cout << "DISPENSER" << endl;
Communicator *s = ((DispenserArgs *) _args)->mpCommunicator;
int size = ((DispenserArgs *) _args)->mSize;
DispenserArgs *args = (DispenserArgs *) _args;
try {
Communicator *c = const_cast<Communicator *> (s->Accept());
char token;
while (true) {
c->Read(&token, 1);
args->mpHandler->RequestUpdate();
XRenderComposite(args->mpDpy, PictOpSrc, args->mSrc, None,
args->mDst, 0, 0, 0, 0, 0, 0, args->mWidth, args->mHeight);
args->mpImage = XGetSubImage(args->mpDpy, args->mPixmap, 0, 0,
args->mWidth, args->mHeight, XAllPlanes(), ZPixmap,
args->mpImage, 0, 0);
if (!args->mUseShm)
c->Write((const char *) args->mpImage->data, size);
else
c->Write((const char *) &token, 1);
c->Sync();
}
} catch (const char *ex) {
cout << "FramebufferDispenser" << endl;
cout << ex << endl;
cout << strerror(errno) << endl;
}
return NULL;
}