added struct subsys so that we know each
[winnie] / src / shalloc.cc
index fd5809e..5d4715a 100644 (file)
@@ -1,3 +1,24 @@
+/*
+winnie - an experimental window system
+
+Copyright (C) 2013 Eleni Maria Stea
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Author: Eleni Maria Stea <elene.mst@gmail.com>
+*/
+
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -61,11 +82,6 @@ bool init_shared_memory()
 
        shm_unlink(SHMNAME);
 
-       //TODO delete it
-       /*if(!(pool = (unsigned char *)malloc(POOL_SIZE))) {
-               return false;
-       }*/
-
        for(int i=0; i<BITMAP_SIZE; i++) {
                bitmap[i] = 0;
        }
@@ -79,7 +95,6 @@ bool init_shared_memory()
 void destroy_shared_memory()
 {
        print_stats();
-       //free(pool); //TODO DELETE it
        if(munmap(pool, POOL_SIZE) == -1) {
                fprintf(stderr, "Failed to unmap shared memory: %s\n", strerror(errno));
        }
@@ -129,6 +144,11 @@ void sh_free(void *ptr)
        }
 }
 
+void *get_pool()
+{
+       return (void*)pool;
+}
+
 static bool is_allocated(int block_number)
 {
        int idx = block_number / 32;