On Tue, 16 Oct 2018 22:04:15 -0400 Dennis Clarke <dcla...@blastwave.org> said:
> On 10/16/2018 09:58 PM, Dennis Clarke wrote: > > > > Dear Xorg : > > > > Something I had not thought of came up today. Could multiple threads > > call XDrawPoint() and then XFlush() ? Suppose sixteen threads are > > dispatched to do some foo and each of them utters some XDrawPoint() > > calls and then XFlush()? Is that remotely thread safe? > > > > Sorry, assume XInitThreads() is in place. Am I stuck with using > XLockDisplay() and XUnlockDisplay() and really multiple threads can > not really do work simultaneously. That is the question. xinitthreads should make anything in xlib "mt safe".. but only in as much as doing the calls will not mess up xlib state or the socket/protocol pipeline. (note that if this does happen it'd be an xlib/xcb bug). but ... how can you sensibly have 2 threads draw to the same target in any way ... unless you very specifically avoid ever overdrawing on the same areas (e.g. use 4 threads and split region into a 2x2 grid of target areas to draw into), or you always draw the same color points so that it doesn't matter which gets drawn first etc. ... ? xflush will flush whatever is queued in the xlib buffer irrespective of which thread put it there... :) -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - ras...@rasterman.com _______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: https://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s