summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1994-10-05 00:58:33 +0000
committerphk <phk@FreeBSD.org>1994-10-05 00:58:33 +0000
commit533de3420bd9023d22a42fc73e004ccbcb234a87 (patch)
treecaa9a13b1ff95a884fb43ba75507d23b8b82ed3b
parent4e401ed313f2b2b269f99b835a7c9b7a8e42d703 (diff)
downloadFreeBSD-src-533de3420bd9023d22a42fc73e004ccbcb234a87.zip
FreeBSD-src-533de3420bd9023d22a42fc73e004ccbcb234a87.tar.gz
David Greenman told me to do this: (Thanks!) use vm_allocate to allocate
the uncompression buffer. Now malloc(M_GZIP) is used for all the Huffman- tree stuff only. Numbers so far indicate < 15Kb Malloc use + 32 Kb for the abovementioned buffer while uncompressing.
-rw-r--r--sys/kern/imgact_gzip.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/imgact_gzip.c b/sys/kern/imgact_gzip.c
index 8b425a1..6d02127 100644
--- a/sys/kern/imgact_gzip.c
+++ b/sys/kern/imgact_gzip.c
@@ -7,7 +7,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: imgact_gzip.c,v 1.3 1994/10/04 03:09:13 phk Exp $
+ * $Id: imgact_gzip.c,v 1.4 1994/10/04 06:51:42 phk Exp $
*
* This module handles execution of a.out files which have been run through
* "gzip -9".
@@ -91,10 +91,10 @@ exec_gzip_imgact(iparams)
return ENOMEM;
bzero(gz,sizeof *gz); /* waste of time ? */
- gz->gz_slide = malloc(WSIZE,M_TEMP,M_NOWAIT);
- if (!gz->gz_slide) {
+ error = vm_allocate(kernel_map, &gz->gz_slide, WSIZE, TRUE);
+ if (error) {
free(gz,M_GZIP);
- return ENOMEM;
+ return error;
}
gz->ip = iparams;
@@ -142,7 +142,7 @@ exec_gzip_imgact(iparams)
done:
error = gz->error;
- free(gz->gz_slide,M_TEMP);
+ vm_deallocate(kernel_map, gz->gz_slide, WSIZE);
free(gz,M_GZIP);
return error;
}
OpenPOWER on IntegriCloud