diff options
Diffstat (limited to 'gdhcp/client.c')
-rwxr-xr-x | gdhcp/client.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdhcp/client.c b/gdhcp/client.c index 22bbc8e2..2bdc6163 100755 --- a/gdhcp/client.c +++ b/gdhcp/client.c @@ -2324,6 +2324,14 @@ static gboolean listener_event(GIOChannel *channel, GIOCondition condition, if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) { dhcp_client->listener_watch = 0; +#if defined TIZEN_EXT + /* re-register event listener when socket failed */ + int retry_count = 0; + int ret = -1; + while (retry_count++ < GIO_SOCKET_RETRY_COUNT && ret < 0) + ret = switch_listening_mode(dhcp_client, + dhcp_client->type); +#endif /* defined TIZEN_EXT */ return FALSE; } |