Add missing files for para_afh.
[paraslash.git] / stat.c
diff --git a/stat.c b/stat.c
index 89a1f49b9f823120c36e8c3f29922d45497a9225..f54858a03c4226784304291eebde2ba7a5acc453 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -103,20 +103,15 @@ void stat_client_write(const char *msg, int itemnum)
 {
        struct stat_client *sc, *tmp;
        size_t len = strlen(msg);
-       struct timeval tv = {0 , 0};
 
        if (!initialized || !len)
                return;
        list_for_each_entry_safe(sc, tmp, &client_list, node) {
                int fd = sc->fd, ret;
-               fd_set wfds;
 
                if (!((1 << itemnum) & sc->item_mask))
                        continue;
-               FD_ZERO(&wfds);
-               FD_SET(fd, &wfds);
-               ret = para_select(fd + 1, NULL, &wfds, &tv);
-               if (ret > 0) {
+               if (write_ok(fd) > 0) {
                        ret = write(fd, msg, len);
                        PARA_DEBUG_LOG("dumped %s to fd %d, ret = %d\n", msg, fd, ret);
                        if (ret == len)
@@ -130,7 +125,8 @@ void stat_client_write(const char *msg, int itemnum)
                free(sc);
                dump_stat_client_list();
        }
-       PARA_DEBUG_LOG("%d client(s)\n", num_clients);
+       if (num_clients)
+               PARA_DEBUG_LOG("%d client(s)\n", num_clients);
 }
 
 /**