summaryrefslogtreecommitdiffhomepage
path: root/src/heap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/heap.c')
-rw-r--r--src/heap.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/heap.c b/src/heap.c
index c7d8560..0611c39 100644
--- a/src/heap.c
+++ b/src/heap.c
@@ -97,61 +97,3 @@ char *debugging_strdup (const char *s, const char *file, unsigned long line)
#endif /* !NDEBUG */
-/*
- * Allocate a block of memory in the "shared" memory region.
- *
- * FIXME: This uses the most basic (and slowest) means of creating a
- * shared memory location. It requires the use of a temporary file. We might
- * want to look into something like MM (Shared Memory Library) for a better
- * solution.
- */
-void *malloc_shared_memory (size_t size)
-{
- int fd;
- void *ptr;
- char buffer[32];
-
- static const char *shared_file = "/tmp/tinyproxy.shared.XXXXXX";
-
- assert (size > 0);
-
- strlcpy (buffer, shared_file, sizeof (buffer));
-
- /* Only allow u+rw bits. This may be required for some versions
- * of glibc so that mkstemp() doesn't make us vulnerable.
- */
- umask (0177);
-
- if ((fd = mkstemp (buffer)) == -1)
- return MAP_FAILED;
- unlink (buffer);
-
- if (ftruncate (fd, size) == -1)
- return MAP_FAILED;
- ptr = mmap (NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-
- return ptr;
-}
-
-/*
- * Allocate a block of memory from the "shared" region an initialize it to
- * zero.
- */
-void *calloc_shared_memory (size_t nmemb, size_t size)
-{
- void *ptr;
- long length;
-
- assert (nmemb > 0);
- assert (size > 0);
-
- length = nmemb * size;
-
- ptr = malloc_shared_memory (length);
- if (ptr == MAP_FAILED)
- return ptr;
-
- memset (ptr, 0, length);
-
- return ptr;
-}