connection: Set n_fds_out to 0 when we send out the fds
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 23 Mar 2012 04:27:04 +0000 (00:27 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 23 Mar 2012 04:27:04 +0000 (00:27 -0400)
This needs to happen always, not just when the fd buffer overflows.

src/connection.c

index fa01545..ef8e3ae 100644 (file)
@@ -287,6 +287,7 @@ wl_connection_data(struct wl_connection *connection, uint32_t mask)
                }
 
                close_fds(&connection->fds_out);
+               connection->n_fds_out = 0;
 
                connection->out.tail += len;
                if (connection->out.tail == connection->out.head &&
@@ -399,7 +400,6 @@ wl_connection_put_fd(struct wl_connection *connection, int32_t fd)
        if (connection->n_fds_out + 1 > MAX_FDS_OUT) {
                if (wl_connection_data(connection, WL_CONNECTION_WRITABLE))
                        return -1;
-               connection->n_fds_out = 0;
        }
 
        wl_buffer_put(&connection->fds_out, &fd, sizeof fd);