Annotation of embedaddon/lighttpd/src/joblist.c, revision 1.1
1.1 ! misho 1: #include "base.h"
! 2: #include "joblist.h"
! 3: #include "log.h"
! 4:
! 5: #include <stdlib.h>
! 6: #include <string.h>
! 7:
! 8: int joblist_append(server *srv, connection *con) {
! 9: if (con->in_joblist) return 0;
! 10:
! 11: if (srv->joblist->size == 0) {
! 12: srv->joblist->size = 16;
! 13: srv->joblist->ptr = malloc(sizeof(*srv->joblist->ptr) * srv->joblist->size);
! 14: } else if (srv->joblist->used == srv->joblist->size) {
! 15: srv->joblist->size += 16;
! 16: srv->joblist->ptr = realloc(srv->joblist->ptr, sizeof(*srv->joblist->ptr) * srv->joblist->size);
! 17: }
! 18:
! 19: srv->joblist->ptr[srv->joblist->used++] = con;
! 20:
! 21: return 0;
! 22: }
! 23:
! 24: void joblist_free(server *srv, connections *joblist) {
! 25: UNUSED(srv);
! 26:
! 27: free(joblist->ptr);
! 28: free(joblist);
! 29: }
! 30:
! 31: connection *fdwaitqueue_unshift(server *srv, connections *fdwaitqueue) {
! 32: connection *con;
! 33: UNUSED(srv);
! 34:
! 35:
! 36: if (fdwaitqueue->used == 0) return NULL;
! 37:
! 38: con = fdwaitqueue->ptr[0];
! 39:
! 40: memmove(fdwaitqueue->ptr, &(fdwaitqueue->ptr[1]), --fdwaitqueue->used * sizeof(*(fdwaitqueue->ptr)));
! 41:
! 42: return con;
! 43: }
! 44:
! 45: int fdwaitqueue_append(server *srv, connection *con) {
! 46: if (srv->fdwaitqueue->size == 0) {
! 47: srv->fdwaitqueue->size = 16;
! 48: srv->fdwaitqueue->ptr = malloc(sizeof(*(srv->fdwaitqueue->ptr)) * srv->fdwaitqueue->size);
! 49: } else if (srv->fdwaitqueue->used == srv->fdwaitqueue->size) {
! 50: srv->fdwaitqueue->size += 16;
! 51: srv->fdwaitqueue->ptr = realloc(srv->fdwaitqueue->ptr, sizeof(*(srv->fdwaitqueue->ptr)) * srv->fdwaitqueue->size);
! 52: }
! 53:
! 54: srv->fdwaitqueue->ptr[srv->fdwaitqueue->used++] = con;
! 55:
! 56: return 0;
! 57: }
! 58:
! 59: void fdwaitqueue_free(server *srv, connections *fdwaitqueue) {
! 60: UNUSED(srv);
! 61: free(fdwaitqueue->ptr);
! 62: free(fdwaitqueue);
! 63: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>