Предполагаю, что теоретически можно через inotify подписаться на изменения файла /proc/net/tcp - и отсеивать ненужные/неинтересные изменения, ожидая «свой» сокет :)
Но вообще непонятно на самом деле: вот у тебя закрылся сокет по причине дисконнекта. И хотелось бы просто поставить обработчик «когда поднимется обратно - выполнить something (пересоздать объекты, работающие с данным сокетом и вообще пересоздать мир заново)». Но остаётся только долбить ОС постоянно попытками подключения на несуществующий сокет. Хорошо ли это? Я вот столкнулся с ситуацией, когда оказалось не очень хорошо: сокет используется для «широковещания» через Redis, и накопленные за время время падения сервиса сообщения отправляются так, что не все подписчики успевают их поймать. Может, оно и не мега-критично, но если бы и подписчики, и отправители восстанавливали соединение ASAP - такой фигни бы не было. А просто так долбить закрытый сокет каждые 10 мс, например - тоже не дело...
Вот если б подписаться - в том бы толк однозначно был.
Можно конечно административными мерами это сделать - какой-нибудь сигнал отправить при старте сервиса всем его ожидающим приложениям, но, гм, как-то это уже не изящно совсем.