Commits

Anonymous committed b6c6028 Merge

Merge changes Ieb94caab,I762da21e

* changes:
init: move initial property area allocation into bionic
property_service: make /dev/__properties__ readable

  • Participants
  • Parent commits 83ada44, 2baad52

Comments (0)

Files changed (1)

File init/property_service.c

 };
 
 typedef struct {
-    void *data;
     size_t size;
     int fd;
 } workspace;
 static int init_workspace(workspace *w, size_t size)
 {
     void *data;
-    int fd;
-
-        /* dev is a tmpfs that we can use to carve a shared workspace
-         * out of, so let's do that...
-         */
-    fd = open("/dev/__properties__", O_RDWR | O_CREAT | O_NOFOLLOW, 0600);
+    int fd = open(PROP_FILENAME, O_RDONLY | O_NOFOLLOW);
     if (fd < 0)
         return -1;
 
-    if (ftruncate(fd, size) < 0)
-        goto out;
-
-    data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-    if(data == MAP_FAILED)
-        goto out;
-
-    close(fd);
-
-    fd = open("/dev/__properties__", O_RDONLY | O_NOFOLLOW);
-    if (fd < 0)
-        return -1;
-
-    unlink("/dev/__properties__");
-
-    w->data = data;
     w->size = size;
     w->fd = fd;
     return 0;
-
-out:
-    close(fd);
-    return -1;
 }
 
 static workspace pa_workspace;
     if (property_area_inited)
         return -1;
 
-    if(init_workspace(&pa_workspace, PA_SIZE))
+    if(__system_property_area_init())
         return -1;
 
-    fcntl(pa_workspace.fd, F_SETFD, FD_CLOEXEC);
+    if(init_workspace(&pa_workspace, 0))
+        return -1;
 
-    __system_property_area_init(pa_workspace.data);
+    fcntl(pa_workspace.fd, F_SETFD, FD_CLOEXEC);
 
     property_area_inited = 1;
     return 0;