Commit 1e623fd0 authored by Cliff Woolley's avatar Cliff Woolley
Browse files

revert buckets sms phase 1 patch. the group wants to get rid of SMS, so

the buckets can't use it.  I'll implement a free-list scheme private
to the buckets next.  in the meanwhile we're back to using malloc/free
directly instead of via the std sms.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91117 13f79535-47bb-0310-9956-ffa450edef68
parent 0767377d
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -68,20 +68,17 @@ static apr_status_t error_read(apr_bucket *b, const char **str,
    return APR_SUCCESS;
}

static void error_destroy(void *data) {
    ap_bucket_error *h = data;
    apr_sms_free(h->sms, h);
}

AP_DECLARE(apr_bucket *) ap_bucket_error_make(apr_bucket *b, int error, 
		const char *buf, apr_pool_t *p)
{
    ap_bucket_error *h;

    h = (ap_bucket_error *)apr_sms_malloc(b->sms, sizeof(*h));
    h = malloc(sizeof(*h));
    if (h == NULL) {
        return NULL;
    }
    h->status = error;
    h->data = (buf) ? apr_pstrdup(p, buf) : NULL;
    h->sms = b->sms;

    b->length = 0;
    b->start  = 0;
@@ -93,22 +90,16 @@ AP_DECLARE(apr_bucket *) ap_bucket_error_make(apr_bucket *b, int error,
AP_DECLARE(apr_bucket *) ap_bucket_error_create(int error, 
		const char *buf, apr_pool_t *p)
{
    apr_sms_t *sms;
    apr_bucket *b;
    apr_bucket *b = (apr_bucket *)malloc(sizeof(*b));

    if (!apr_bucket_global_sms) {
        apr_sms_std_create(&apr_bucket_global_sms);
    }
    sms = apr_bucket_global_sms;
    b = (apr_bucket *)apr_sms_malloc(sms, sizeof(*b));
    APR_BUCKET_INIT(b);
    b->sms = sms;
    b->free = free;
    return ap_bucket_error_make(b, error, buf, p);
}

AP_DECLARE_DATA const apr_bucket_type_t ap_bucket_type_error = {
    "ERROR", 5,
    error_destroy,
    free,
    error_read,
    apr_bucket_setaside_notimpl,
    apr_bucket_split_notimpl,