projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
01_DCCP_shutdown-unnecessary.diff
[paraslash.git]
/
stat.c
diff --git
a/stat.c
b/stat.c
index
feb669b
..
0457a0f
100644
(file)
--- a/
stat.c
+++ b/
stat.c
@@
-5,8
+5,8
@@
*/
/**
*/
/**
- * \file stat.c
f
unctions used for sending/receiving the status of para_server
- * and para_audiod
+ * \file stat.c
F
unctions used for sending/receiving the status of para_server
+ * and para_audiod
.
*/
*/
@@
-20,11
+20,11
@@
#include "string.h"
#include "fd.h"
#include "string.h"
#include "fd.h"
-/**
the maximal number of simultaneous connections
*/
+/**
The maximal number of simultaneous connections.
*/
#define MAX_STAT_CLIENTS 50
/**
#define MAX_STAT_CLIENTS 50
/**
- *
describes a status client of para_audiod
+ *
Describes a status client of para_audiod.
*
* There's one such structure per audiod client that sent the 'stat' command.
*
*
* There's one such structure per audiod client that sent the 'stat' command.
*
@@
-32,11
+32,11
@@
* keeps a list of connected status clients.
*/
struct stat_client {
* keeps a list of connected status clients.
*/
struct stat_client {
- /**
the stat client's file descriptor
*/
+ /**
The stat client's file descriptor.
*/
int fd;
int fd;
- /**
bitmask of those status items the client is interested in
*/
+ /**
Bitmask of those status items the client is interested in.
*/
long unsigned item_mask;
long unsigned item_mask;
- /**
its entry in the list of stat clients
*/
+ /**
Its entry in the list of stat clients.
*/
struct list_head node;
};
struct list_head node;
};
@@
-57,10
+57,10
@@
static void dump_stat_client_list(void)
PARA_INFO_LOG("stat client on fd %d\n", sc->fd);
}
/**
PARA_INFO_LOG("stat client on fd %d\n", sc->fd);
}
/**
- *
add a status client to the list
+ *
Add a status client to the list.
*
*
- * \param fd
the file descriptor of the client
- * \param mask
bitfield of status items for this client
+ * \param fd
The file descriptor of the client.
+ * \param mask
Bitfield of status items for this client.
*
* Only those status items having the bit set in \a mask will be
* sent to the client.
*
* Only those status items having the bit set in \a mask will be
* sent to the client.
@@
-91,10
+91,10
@@
int stat_client_add(int fd, long unsigned mask)
return 1;
}
/**
return 1;
}
/**
- *
write a message to all connected status clients
+ *
Write a message to all connected status clients.
*
*
- * \param msg
a \p NULL terminated buffer
- * \param itemnum The number of the status item of \a msg
+ * \param msg
A \p NULL terminated buffer.
+ * \param itemnum The number of the status item of \a msg
.
*
* On write errors, remove the status client from the client list and close its
* file descriptor.
*
* On write errors, remove the status client from the client list and close its
* file descriptor.
@@
-103,24
+103,18
@@
void stat_client_write(const char *msg, int itemnum)
{
struct stat_client *sc, *tmp;
size_t len = strlen(msg);
{
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;
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;
if (!((1 << itemnum) & sc->item_mask))
continue;
- FD_ZERO(&wfds);
- FD_SET(fd, &wfds);
-// PARA_DEBUG_LOG("%s: p=%lx\n", __func__, (long)p);
- 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);
ret = write(fd, msg, len);
PARA_DEBUG_LOG("dumped %s to fd %d, ret = %d\n", msg, fd, ret);
- if (ret == len
)
+ if (ret == len)
continue;
}
/* write error or fd not ready for writing */
continue;
}
/* write error or fd not ready for writing */
@@
-135,9
+129,9
@@
void stat_client_write(const char *msg, int itemnum)
}
/**
}
/**
- *
c
heck if string is a known status item.
+ *
C
heck if string is a known status item.
*
*
- * \param item
buffer containing the text to check
+ * \param item
Buffer containing the text to check.
*
* \return If \a item is a valid status item, the number of that status item is
* returned. Otherwise, this function returns \p -E_UNKNOWN_STAT_ITEM.
*
* \return If \a item is a valid status item, the number of that status item is
* returned. Otherwise, this function returns \p -E_UNKNOWN_STAT_ITEM.
@@
-149,7
+143,7
@@
int stat_item_valid(const char *item)
PARA_ERROR_LOG("%s\n", "no item");
return -E_UNKNOWN_STAT_ITEM;
}
PARA_ERROR_LOG("%s\n", "no item");
return -E_UNKNOWN_STAT_ITEM;
}
- FOR_EACH_STAT_ITEM(i)
+ FOR_EACH_STAT
US
_ITEM(i)
if (!strcmp(status_item_list[i], item))
return i;
PARA_ERROR_LOG("invalid stat item: %s\n", item);
if (!strcmp(status_item_list[i], item))
return i;
PARA_ERROR_LOG("invalid stat item: %s\n", item);
@@
-157,9
+151,9
@@
int stat_item_valid(const char *item)
}
/**
}
/**
- *
c
heck if line starts with known status item.
+ *
C
heck if line starts with known status item.
*
*
- * \param line
buffer containing the line
+ * \param line
Buffer containing the line.
*
* \return If the beginning of \a line matches any paraslash status item and is
* followed by a colon, the number of that status item is returned. Otherwise,
*
* \return If the beginning of \a line matches any paraslash status item and is
* followed by a colon, the number of that status item is returned. Otherwise,
@@
-173,7
+167,7
@@
int stat_line_valid(const char *line)
if (!line || !*line)
return -E_UNKNOWN_STAT_ITEM;
line_len = strlen(line);
if (!line || !*line)
return -E_UNKNOWN_STAT_ITEM;
line_len = strlen(line);
- FOR_EACH_STAT_ITEM(i) {
+ FOR_EACH_STAT
US
_ITEM(i) {
const char *s = status_item_list[i];
size_t item_len = strlen(s);
const char *s = status_item_list[i];
size_t item_len = strlen(s);