Miguel de Icaza
10 Oct 2002 14:40:00 -0400
> One way to fix this is to make sure that when you're passing data to use
> a Queue or some other form of data structure which will ensure you get
> each bit of data only once. This however makes it impossible to run the
> gtk thread and the "worker" thread in lock-step (and it might be
> prohibitively expensive to make a copy of the data, etc., etc).
> So, would setting the buffer size on the pipe to 1 fix this? Or do we
The issue really is that we should not be queuing more data if there is
already data queued in. The reason is that it is a redundant task, and
also because if you queue enough information (the system buffer size),
you will block the calling application.
So what we need is a shared variable that says whether we should queue
or not more data. The side effect is that it will address the problem
you see right now.