Sometimes dead modules won't be started up correctly or running ones
would not generate stats anymore. Problem manifests more often under
load and on multicore hw
Change-Id: Ifb70a74c0cd55fc421b65a1f4332147916eadb70
Signed-off-by: Florian Forster <octo@collectd.org>
/* We use a copy of fdset, as select modifies it */
copy = fdset;
- while (select(highest_fd + 1, ©, NULL, NULL, NULL ) > 0)
+ while (1)
{
int len;
+ status = select (highest_fd + 1, ©, NULL, NULL, NULL);
+ if (status < 0)
+ {
+ if (errno == EINTR)
+ continue;
+ break;
+ }
+
if (FD_ISSET(fd, ©))
{
char *pnl;