static gboolean client_io_cb (GIOChannel *source, GIOCondition condition, gpointer data) { if (condition & G_IO_IN) { if (ccnet_client_read_input (ctl->client) <= 0) { on_ccnet_daemon_down (); return FALSE; } return TRUE; } else { on_ccnet_daemon_down (); return FALSE; } }
int tray_socket_cb (UINT message, WPARAM wParam, LPARAM lParam) { if (WSAGETSELECTERROR(lParam)) { closesocket(wParam); on_ccnet_daemon_down (); return FALSE; } switch (WSAGETSELECTEVENT(lParam)) { case FD_READ: if (ccnet_client_read_input (applet->client) <= 0) { on_ccnet_daemon_down (); return FALSE; } return TRUE; case FD_CLOSE: closesocket(wParam); on_ccnet_daemon_down (); break; } return TRUE; }