void *driver_data; /* Driver data */
char buf[MUX_BUFFER_SIZE]; /* Buffer on the main mux */
int buf_used; /* Bytes of buf being used */
+ gboolean shutdown;
};
struct mux_setup_data {
mux->ref_count = 1;
mux->driver = driver;
+ mux->shutdown = TRUE;
mux->channel = channel;
g_io_channel_ref(channel);
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
received_data, mux, NULL);
+ mux->shutdown = FALSE;
+
return TRUE;
}
{
int i;
+ if (mux->shutdown == TRUE)
+ return FALSE;
+
if (mux->channel == NULL)
return FALSE;
if (mux->driver->shutdown)
mux->driver->shutdown(mux);
+ mux->shutdown = TRUE;
+
return TRUE;
}