chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unit: free data from merged unit when we don't need it anymore
[elogind.git]
/
logger.c
diff --git
a/logger.c
b/logger.c
index 311458bd2660b4c3776b40f699eca3958f955530..7194320c4760f091d4fca4c43c689d26a45c7872 100644
(file)
--- a/
logger.c
+++ b/
logger.c
@@
-62,11
+62,6
@@
typedef enum StreamState {
STREAM_RUNNING
} StreamState;
STREAM_RUNNING
} StreamState;
-typedef enum LogTarget {
- LOG_TARGET_SYSLOG,
- LOG_TARGET_KMSG
-} LogTarget;
-
struct Stream {
Server *server;
struct Stream {
Server *server;
@@
-86,16
+81,9
@@
struct Stream {
LIST_FIELDS(Stream, stream);
};
LIST_FIELDS(Stream, stream);
};
-#define IOVEC_SET_STRING(iovec, s) \
- do { \
- (iovec).iov_base = s; \
- (iovec).iov_len = strlen(s); \
- } while(false);
-
static int stream_log(Stream *s, char *p, usec_t timestamp) {
char header_priority[16], header_time[64], header_pid[16];
static int stream_log(Stream *s, char *p, usec_t timestamp) {
char header_priority[16], header_time[64], header_pid[16];
- struct msghdr msghdr;
struct iovec iovec[5];
assert(s);
struct iovec iovec[5];
assert(s);
@@
-139,6
+127,8
@@
static int stream_log(Stream *s, char *p, usec_t timestamp) {
IOVEC_SET_STRING(iovec[0], header_priority);
if (s->target == LOG_TARGET_SYSLOG) {
IOVEC_SET_STRING(iovec[0], header_priority);
if (s->target == LOG_TARGET_SYSLOG) {
+ struct msghdr msghdr;
+
IOVEC_SET_STRING(iovec[1], header_time);
IOVEC_SET_STRING(iovec[2], s->process);
IOVEC_SET_STRING(iovec[3], header_pid);
IOVEC_SET_STRING(iovec[1], header_time);
IOVEC_SET_STRING(iovec[2], s->process);
IOVEC_SET_STRING(iovec[3], header_pid);
@@
-155,7
+145,7
@@
static int stream_log(Stream *s, char *p, usec_t timestamp) {
IOVEC_SET_STRING(iovec[1], s->process);
IOVEC_SET_STRING(iovec[2], header_pid);
IOVEC_SET_STRING(iovec[3], p);
IOVEC_SET_STRING(iovec[1], s->process);
IOVEC_SET_STRING(iovec[2], header_pid);
IOVEC_SET_STRING(iovec[3], p);
- IOVEC_SET_STRING(iovec[4], "\n");
+ IOVEC_SET_STRING(iovec[4],
(char*)
"\n");
if (writev(s->server->kmsg_fd, iovec, ELEMENTSOF(iovec)) < 0)
return -errno;
if (writev(s->server->kmsg_fd, iovec, ELEMENTSOF(iovec)) < 0)
return -errno;
@@
-548,9
+538,9
@@
int main(int argc, char *argv[]) {
for (;;) {
struct epoll_event event;
for (;;) {
struct epoll_event event;
- int
n
;
+ int
k
;
- if ((
n
= epoll_wait(server.epoll_fd,
+ if ((
k
= epoll_wait(server.epoll_fd,
&event, 1,
server.n_streams <= 0 ? TIMEOUT : -1)) < 0) {
&event, 1,
server.n_streams <= 0 ? TIMEOUT : -1)) < 0) {
@@
-561,10
+551,10
@@
int main(int argc, char *argv[]) {
goto fail;
}
goto fail;
}
- if (
n
<= 0)
+ if (
k
<= 0)
break;
break;
- if ((
r
= process_event(&server, &event)) < 0)
+ if ((
k
= process_event(&server, &event)) < 0)
goto fail;
}
r = 0;
goto fail;
}
r = 0;