XLockDisplay()如何跨多个进程工作?

时间:2018-10-31 06:46:46

标签: x11 xlib

我正在处理读取彼此的可绘制对象的多个进程,因此需要同步。 XLockDisplay应该从显示中“锁定所有其他线程”,但这是否适用于多个进程?

还需要所有进程都调用env | grep -i proxy 还是只调用XInitThreads的进程?

1 个答案:

答案 0 :(得分:1)

XLockDisplay函数(和LockDisplay宏)必须在同一个XClient应用程序内使用,即进程... Xtws XClients对它们没有意义(所以btw 2进程)。这是一种防止尝试访问同一X连接的多个线程(因此在同一进程内)的一种方法(例如,请参阅GLX-1.4,第2.7章)

为了读取另一个窗口的全部内容(缓冲区),您可以查看从桌面或单个窗口制作屏幕截图的任何应用(例如,请参见“ scrot”源代码)。

如果要在XClient之间交换数据,请使用其“属性/原子”(请参阅​​XLib ICCC)。