On 26/11/14 01:43 PM, DRC wrote: > On 11/26/14 9:20 AM, Nathan Kidd wrote: >> Consider this sequence: >> >> thread1: xcb_get_extension_data(conn1) >> get_already_faked(conn1) != true >> set_already_faked(conn1, true) >> run on faked connection >> >> thread2: xcb_get_extension_data(conn1) >> get_already_faked(conn1) == true >> run on original connection >> >> thread1: >> set_already_faked(conn1, false) >> return > > I see your point. set_already_faked() would only be called from within > Xlib and GLX functions, so your example above is partially bogus, but > you could have something like this:
Ok, xcb_get_extension_data wasn't a good choice, but replace it with xcb_glx_get_server_string() (which will eventually call xcb_get_extension_data via xcb_send_request); the same issue could occur. Eventually any xcb API that fakes the connection will also need set_already_faked(). Incidentally, my current code works around the whole xcb_get_extension_data issue by simply not faking it at all. Exceed onDemand and Exceed Turbo VA X always support GLX (unless you explicitly turn it off), so there's no pressing need to pretend it exists. -Nathan ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ VirtualGL-Devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/virtualgl-devel
