socket: fix bitfields in fd watches

This commit is contained in:
Lennart Poettering 2010-04-23 22:11:13 +02:00
parent dd5ad9d4e6
commit cabab516b3
2 changed files with 4 additions and 4 deletions

View file

@ -71,9 +71,9 @@ struct Watch {
union Unit *unit;
DBusWatch *bus_watch;
DBusTimeout *bus_timeout;
bool socket_accept;
} data;
bool fd_is_dupped;
bool fd_is_dupped:1;
bool socket_accept:1;
};
#include "unit.h"

View file

@ -453,7 +453,7 @@ static int socket_watch_fds(Socket *s) {
if (p->fd < 0)
continue;
p->fd_watch.data.socket_accept =
p->fd_watch.socket_accept =
s->accept &&
p->type == SOCKET_SOCKET &&
socket_address_can_accept(&p->address);
@ -1094,7 +1094,7 @@ static void socket_fd_event(Unit *u, int fd, uint32_t events, Watch *w) {
goto fail;
}
if (w->data.socket_accept) {
if (w->socket_accept) {
for (;;) {
if ((cfd = accept4(fd, NULL, NULL, SOCK_NONBLOCK)) < 0) {