[Mesa-dev] [mesa-dev, mesa-demos][PATCH] sharedtex_mt: fix rendering thread hang

Belal, Awais Awais_Belal at mentor.com
Wed Oct 14 23:05:01 PDT 2015


Thanks a lot Brian.

BR,
Awais

________________________________________
From: Brian Paul [brianp at vmware.com]
Sent: Wednesday, October 14, 2015 7:19 PM
To: Belal, Awais; mesa-dev at lists.freedesktop.org
Subject: Re: [Mesa-dev] [mesa-dev, mesa-demos][PATCH] sharedtex_mt: fix rendering thread hang

I just pushed it.  Thanks.

-Brian

On 10/14/2015 02:07 AM, Belal, Awais wrote:
> Hi Brian,
>
> Do you want me to update this or is it good to go as is?
>
> BR,
> Awais
>
> ________________________________________
> From: mesa-dev [mesa-dev-bounces at lists.freedesktop.org] on behalf of Belal, Awais
> Sent: Monday, October 12, 2015 6:33 PM
> To: Brian Paul; mesa-dev at lists.freedesktop.org
> Subject: Re: [Mesa-dev] [mesa-dev, mesa-demos][PATCH] sharedtex_mt: fix rendering thread hang
>
> Hi Brian,
>
> Thanks for your reply :)
> The move of variable definition was just to make the code look a little cleaner.
>
> BR,
> Awais
>
> ________________________________________
> From: Brian Paul [brianp at vmware.com]
> Sent: Monday, October 12, 2015 6:31 PM
> To: Belal, Awais; mesa-dev at lists.freedesktop.org
> Subject: Re: [Mesa-dev] [mesa-dev, mesa-demos][PATCH] sharedtex_mt: fix rendering thread hang
>
> On 10/12/2015 05:25 AM, Belal, Awais wrote:
>> Hi,
>>
>> Is there are a reservation against the below patch?
>
> Looks OK, but one comment below.
>
>
>> BR,
>> Awais
>>
>> ________________________________________
>> From: mesa-dev [mesa-dev-bounces at lists.freedesktop.org] on behalf of Belal, Awais
>> Sent: Thursday, October 08, 2015 2:00 PM
>> To: mesa-dev at lists.freedesktop.org
>> Subject: [Mesa-dev] [mesa-dev,  mesa-demos][PATCH] sharedtex_mt: fix rendering thread hang
>>
>> XNextEvent is a blocking call which locks up the display mutex
>> this causes the rendering threads to hang when they try call
>> glXSwapBuffers() as that tries to take the same mutex in
>> underlying calls through XCopyArea().
>> So we only go to XNextEvent when it has at least one event
>> and we wouldn't lock indefinitely.
>>
>> Signed-off-by: Awais Belal <awais_belal at mentor.com>
>> ---
>>    src/xdemos/sharedtex_mt.c | 9 +++++++--
>>    1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/xdemos/sharedtex_mt.c b/src/xdemos/sharedtex_mt.c
>> index a90903a..1d503c4 100644
>> --- a/src/xdemos/sharedtex_mt.c
>> +++ b/src/xdemos/sharedtex_mt.c
>> @@ -420,9 +420,14 @@ Resize(struct window *h, unsigned int width, unsigned int height)
>>    static void
>>    EventLoop(void)
>>    {
>> +   int i;
>> +   XEvent event;
>>       while (1) {
>> -      int i;
>> -      XEvent event;
>> +      /* Do we have an event? */
>> +      if (XPending(gDpy) == 0) {
>> +         usleep(10000);
>> +         continue;
>> +      }
>>          XNextEvent(gDpy, &event);
>>          for (i = 0; i < NumWindows; i++) {
>>            struct window *h = &Windows[i];
>
> Was there particular reason to move the i, event declarations?
>
> In any case, I'll commit this in a bit.
>
> -Brian
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=BQIFAg&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=T0t4QG7chq2ZwJo6wilkFznRSFy-8uDKartPGbomVj8&m=OGzLAaED2FXBhL6Q1sLFgviEkbFMzCA_bTROi2XgqJA&s=o_lPvn53_4RWhqKWa6ZyyfO1l6b2SzQMpEL6OtZc6y8&e=
>



More information about the mesa-dev mailing list