On 02/12/2015 12:06 AM, Tapani Pälli wrote:
> 
> 
> On 02/12/2015 03:47 AM, Chad Versace wrote:
>> On 02/09/2015 06:22 AM, Tapani Pälli wrote:

>>> +// Thread takes care that we do not issue another buffer
>>> +// swap before previous swap has completed.
>>> +class NaclSwapThread : public pp::SimpleThread
>>> +{
>>> +public:
>>> +    explicit NaclSwapThread(const pp::InstanceHandle &instance,
>>> +                            pp::Graphics3D *_ctx) :
>>> +        pp::SimpleThread(instance),
>>> +        ctx(_ctx),
>>> +        cbf(this)
>>> +    {
>>> +        Start();
>>> +        sem_init(&sem, 0, 0);
>>> +    }
>>> +
>>> +    ~NaclSwapThread()
>>> +    {
>>> +        sem_destroy(&sem);
>>> +        message_loop().PostQuit(true);
>>> +    }
>>> +
>>> +    bool swap()
>>> +    {
>>> +        pp::CompletionCallback cb =
>>> +            cbf.NewCallback(&NaclSwapThread::swap_buffers);
>>> +
>>> +        if (message_loop().PostWork(cb) != PP_OK)
>>> +            return false;
>>
>> I don't understand NaCl's message loop. When you post a callback
>> to the message loop, does NaCl provide any guarantees on which
>> thread executes the callback?
> 
> message_loop() is method of SimpleThread so here it returns the message_loop 
> of NaclSwapThread, I used the method because examples I've seen did this. I 
> could've done also 'message_loop_.PostWork(cb)'. I can change this if it 
> feels/looks bad (?)

The code is fine and doesn't look bad. I asked the question just for 
self-learning.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle

Reply via email to