[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r16540 - gnunet-gtk/src/lib
From: |
gnunet |
Subject: |
[GNUnet-SVN] r16540 - gnunet-gtk/src/lib |
Date: |
Mon, 15 Aug 2011 15:14:29 +0200 |
Author: grothoff
Date: 2011-08-15 15:14:29 +0200 (Mon, 15 Aug 2011)
New Revision: 16540
Modified:
gnunet-gtk/src/lib/eventloop.c
Log:
major fix
Modified: gnunet-gtk/src/lib/eventloop.c
===================================================================
--- gnunet-gtk/src/lib/eventloop.c 2011-08-15 13:09:02 UTC (rev 16539)
+++ gnunet-gtk/src/lib/eventloop.c 2011-08-15 13:14:29 UTC (rev 16540)
@@ -195,8 +195,8 @@
* @param tc scheduler context
*/
static void
-gnunet_gtk_dispatch_task (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+dispatch_gtk_task (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_GTK_MainLoop *ml = cls;
g_main_context_dispatch (ml->gmc);
@@ -552,7 +552,6 @@
poll_result = g_poll (ml->cached_poll_array,
fd_counter + need_gfds,
delay);
-
#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"g_poll returned : %d\n",
@@ -568,9 +567,10 @@
max_priority,
&ml->cached_poll_array[fd_counter],
need_gfds))
- GNUNET_SCHEDULER_add_continuation (gnunet_gtk_dispatch_task, ml,
+ GNUNET_SCHEDULER_add_continuation (&dispatch_gtk_task, ml,
GNUNET_SCHEDULER_REASON_STARTUP);
+ /* Now map back GNUnet scheduler events ... */
#if !WINDOWS
if (NULL != rfds)
GNUNET_NETWORK_fdset_zero (rfds);
@@ -582,11 +582,14 @@
{
int set[3];
- if ((set[0] = FD_ISSET (ml->cached_poll_array[i].fd, &aread)))
+ if ((set[0] = (FD_ISSET (ml->cached_poll_array[i].fd, &aread) &&
+ (0 != (ml->cached_poll_array[i].revents & (G_IO_IN |
G_IO_HUP | G_IO_ERR))))))
GNUNET_NETWORK_fdset_set_native (rfds, ml->cached_poll_array[i].fd);
- if ((set[1] = FD_ISSET (ml->cached_poll_array[i].fd, &awrite)))
+ if ((set[1] = (FD_ISSET (ml->cached_poll_array[i].fd, &awrite) &&
+ (0 != (ml->cached_poll_array[i].revents & (G_IO_OUT |
G_IO_ERR))))))
GNUNET_NETWORK_fdset_set_native (wfds, ml->cached_poll_array[i].fd);
- if ((set[2] = FD_ISSET (ml->cached_poll_array[i].fd, &aexcept)))
+ if ((set[2] = (FD_ISSET (ml->cached_poll_array[i].fd, &aexcept) &&
+ (0 != (ml->cached_poll_array[i].revents & G_IO_ERR)))))
GNUNET_NETWORK_fdset_set_native (efds, ml->cached_poll_array[i].fd);
if (set[0] || set[1] || set[2])
result++;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r16540 - gnunet-gtk/src/lib,
gnunet <=