Exemplo n.º 1
0
static void server_close_all_streams(server_t server) {
	stream_t s, next, *spp;
	for (spp = &server->used_chain; (s = *spp) != NULL; s = next) { 
		next = s->next;
		server_stream_destroy(server, s);
		*spp = next;
		s->next = server->free_chain;
		server->free_chain = s;
	}
}
Exemplo n.º 2
0
static void server_close_bad_streams(server_t server) {
	int i;
	for (i = server->streamsnum - 1; i >= 0; i--) {
		stream_t stream = server->streams + i;
		if (!stream->good) {
			server_stream_destroy(server, stream);
			if (i != server->streamsnum - 1) {
				// move the last one here
				*stream = server->streams[server->streamsnum - 1];
				stream_move(stream, server->streams + server->streamsnum - 1);
			}
			server->streamsnum--;
		}
	}
}