[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gtk-devel
Subject:    g_io_win32_dispatch yields condition=0
From:       "Dov Grobgeld" <dov.grobgeld () gmail ! com>
Date:       2007-07-17 13:45:21
Message-ID: dc666480707170645k4029e8a8if578bcd1192b851b () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I'm investigating a problem under windows that appears to be a missed event.


My test viewer application is built as follows:

1. A top level widget with a GtkImage widget that shows an image.
2. The program also listens to http requests through the gnet library and
allows to remote control the gui to change the image being displayed.

I can now connect to this viewer by a client and request it to change the
image being displayed. Everything is working nicely except if the
application is busy (see below) when the image change request arrives. To
make the viewer busy I take hold on corner of the top level widget and start
resizing the widget back and forth. If, when doing the resizing, a http
request arrives it is not passed on to my callback routine.

The problem is the call to the GIOFunc from the g_io_win32_dispatch
function. Normally I get GIOCondition=4 when data is ready to read on my gtk
condition, and GIOCondition=5 when data can be written. But if I do the
resizing trick when the data arrives, I instead get a call with
GIOCondition=0, even though I should have got GIOCondition=4 since there is
data to read on the socket. This in turn fails the following the following
test in the gnet callback function:

  if (condition & G_IO_IN)

I never get any additional callback and my client is timeout since it never
gets any reply.

Does anyone have any idea of what is wrong, or what additional tests I can
do to help debugging this issue?

Thanks!
Dov

[Attachment #5 (text/html)]

I&#39;m investigating a problem under windows that appears to be a missed event. \
<br><br>My test viewer application is built as follows:<br><br>1. A top level widget \
with a GtkImage widget that shows an image.<br>2. The program also listens to http \
requests through the gnet library and allows to remote control the gui to change the \
image being displayed. <br><br>I can now connect to this viewer by a client and \
request it to change the image being displayed. Everything is working nicely except \
if the application is busy (see below) when the image change request arrives. To make \
the viewer busy I take hold on corner of the top level widget and start resizing the \
widget back and forth. If, when doing the resizing, a http request arrives it is not \
passed on to my callback routine. <br><br>The problem is the call to the GIOFunc from \
the g_io_win32_dispatch function. Normally I get GIOCondition=4 when data is ready to \
read on my gtk condition, and GIOCondition=5 when data can be written. But if I do \
the resizing trick when the data arrives, I instead get a call with GIOCondition=0, \
even though I should have got GIOCondition=4 since there is data to read on the \
socket. This in turn fails the following the following test in the gnet callback \
function: <br><br>&nbsp; if (condition &amp; G_IO_IN)<br><br>I never get any \
additional callback and my client is timeout since it never gets any reply. \
<br><br>Does anyone have any idea of what is wrong, or what additional tests I can do \
to help debugging this issue? <br><br>Thanks!<br>Dov<br><br>



_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic