When a HUP happens there maybe data left to be processed so the
disconnect handler shall be called last.
Change-Id: Ic4a4ec535cc628f01118c5ade20d5e36bc25671a
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
io_destroy_func_t destroy)
{
struct io_watch *watch;
+ int prio;
watch = g_try_new0(struct io_watch, 1);
if (!watch)
watch->destroy = destroy;
watch->user_data = user_data;
- watch->id = g_io_add_watch_full(io->channel, G_PRIORITY_DEFAULT,
+ prio = cond == G_IO_HUP ? G_PRIORITY_DEFAULT_IDLE : G_PRIORITY_DEFAULT;
+
+ watch->id = g_io_add_watch_full(io->channel, prio,
cond | G_IO_ERR | G_IO_NVAL,
watch_callback, watch,
watch_destroy);