def Load(self): fname = User.User.OwnFile(self._name, "usermemo") try: os.stat(fname) except OSError as exc: data = self.read() if (data is None): raise ServerError("can't load usermemo for %s" % self._name) try: with open(fname, "wb") as f: f.write(data) except IOError: raise ServerError("can't write usermemo for %s" % self._name) try: fmemo = open(fname, "r+b") except IOError: raise ServerError("can't open usermemo for %s" % self._name) (self._memo, _) = Util.Mmap(fmemo, mmap.PROT_READ | mmap.PROT_WRITE, mmap.MAP_SHARED) fmemo.close() if (self._memo == None): raise ServerError("can't mmap usermemo for %s" % self._name) return True
def map_dir(self): if self.fileptr is None: if self.fd is None: self.fd = open(self.filename, "r+b") self.needclosefd = True (self.fileptr, self.size) = Util.Mmap(self.fd, mmap.PROT_READ | mmap.PROT_WRITE, mmap.MAP_SHARED) if self.fileptr is None: if self.needclosefd: self.fd.close() return False return True