Annotation of embedaddon/lighttpd/src/joblist.c, revision 1.1.1.2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>