本文整理汇总了Python中mmap.MAP_SHARED属性的典型用法代码示例。如果您正苦于以下问题:Python mmap.MAP_SHARED属性的具体用法?Python mmap.MAP_SHARED怎么用?Python mmap.MAP_SHARED使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类mmap
的用法示例。
在下文中一共展示了mmap.MAP_SHARED属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: remoteSceneChanged
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def remoteSceneChanged(self, data):
w, h, size, newfile = data
#self._sizeHint = (whint, hhint)
if self.shm is None or self.shm.size != size:
if self.shm is not None:
self.shm.close()
if sys.platform.startswith('win'):
self.shmtag = newfile ## on windows, we create a new tag for every resize
self.shm = mmap.mmap(-1, size, self.shmtag) ## can't use tmpfile on windows because the file can only be opened once.
elif sys.platform == 'darwin':
self.shmFile.close()
self.shmFile = open(self._view.shmFileName(), 'r')
self.shm = mmap.mmap(self.shmFile.fileno(), size, mmap.MAP_SHARED, mmap.PROT_READ)
else:
self.shm = mmap.mmap(self.shmFile.fileno(), size, mmap.MAP_SHARED, mmap.PROT_READ)
self.shm.seek(0)
data = self.shm.read(w*h*4)
self._img = QtGui.QImage(data, w, h, QtGui.QImage.Format_ARGB32)
self._img.data = data # data must be kept alive or PySide 1.2.1 (and probably earlier) will crash.
self.update()
示例2: __init__
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def __init__(self, *args, **kwds):
## Create shared memory for rendered image
#pg.dbg(namespace={'r': self})
if sys.platform.startswith('win'):
self.shmtag = "pyqtgraph_shmem_" + ''.join([chr((random.getrandbits(20)%25) + 97) for i in range(20)])
self.shm = mmap.mmap(-1, mmap.PAGESIZE, self.shmtag) # use anonymous mmap on windows
else:
self.shmFile = tempfile.NamedTemporaryFile(prefix='pyqtgraph_shmem_')
self.shmFile.write(b'\x00' * (mmap.PAGESIZE+1))
fd = self.shmFile.fileno()
self.shm = mmap.mmap(fd, mmap.PAGESIZE, mmap.MAP_SHARED, mmap.PROT_WRITE)
atexit.register(self.close)
GraphicsView.__init__(self, *args, **kwds)
self.scene().changed.connect(self.update)
self.img = None
self.renderTimer = QtCore.QTimer()
self.renderTimer.timeout.connect(self.renderView)
self.renderTimer.start(16)
示例3: create_shm_buffer
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def create_shm_buffer(touch, width, height):
stride = width * 4
size = stride * height
with tempfile.TemporaryFile() as f:
f.write(b"\x64" * size)
f.flush()
fd = f.fileno()
touch["data"] = mmap.mmap(
fd, size, mmap.MAP_SHARED, mmap.PROT_READ | mmap.PROT_WRITE
)
pool = touch["shm"].create_pool(fd, size)
touch["buffer"] = pool.create_buffer(
0, width, height, stride, WlShm.format.argb8888.value
)
pool.destroy()
示例4: wipe
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def wipe(self):
filter_bitmap_fd = os.open("/dev/shm/kafl_filter0", os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(filter_bitmap_fd, self.config.config_values['BITMAP_SHM_SIZE'])
filter_bitmap = mmap.mmap(filter_bitmap_fd, self.config.config_values['BITMAP_SHM_SIZE'], mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
for i in range(self.config.config_values['BITMAP_SHM_SIZE']):
filter_bitmap[i] = '\x00'
filter_bitmap.close()
os.close(filter_bitmap_fd)
filter_bitmap_fd = os.open("/dev/shm/kafl_tfilter", os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(filter_bitmap_fd, 0x1000000)
filter_bitmap = mmap.mmap(filter_bitmap_fd, 0x1000000, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
for i in range(0x1000000):
filter_bitmap[i] = '\x00'
filter_bitmap.close()
os.close(filter_bitmap_fd)
示例5: __set_binary
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def __set_binary(self, filename, binaryfile, max_size):
shm_fd = os.open(filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(shm_fd, max_size)
shm = mmap.mmap(shm_fd, max_size, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
shm.seek(0x0)
shm.write('\x00' * max_size)
shm.seek(0x0)
f = open(binaryfile, "rb")
bytes = f.read(1024)
if bytes:
shm.write(bytes)
while bytes != "":
bytes = f.read(1024)
if bytes:
shm.write(bytes)
f.close()
shm.close()
os.close(shm_fd)
示例6: init
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def init(self):
self.control = socket.socket(socket.AF_UNIX)
while True:
try:
self.control.connect(self.control_filename)
#self.control.connect(self.control_filename)
break
except socket_error:
pass
#time.sleep(0.01)
self.kafl_shm_f = os.open(self.bitmap_filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
self.fs_shm_f = os.open(self.payload_filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
#argv_fd = os.open(self.argv_filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(self.kafl_shm_f, self.bitmap_size)
os.ftruncate(self.fs_shm_f, (128 << 10))
#os.ftruncate(argv_fd, (4 << 10))
self.kafl_shm = mmap.mmap(self.kafl_shm_f, self.bitmap_size, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
self.fs_shm = mmap.mmap(self.fs_shm_f, (128 << 10), mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
return True
示例7: setClockPython
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def setClockPython(newClock):
with open("/dev/mem", os.O_RDWR) as f:
CPPCR = (0x10 >> 2)
m = newClock / 6
if(m >= 200):
m = 200
if(m < 4):
m = 4
try:
map.mmap(1024, mmap.MAP_SHARED, mmap.PROT_READ | mmap.PROT_WRITE, 0x10000000)
map.seek(CPPCR)
map.write((m << 24) | 0x090520)
map.close()
except Exception as ex:
print(str(ex))
示例8: shell_logger
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def shell_logger(output):
"""Logs shell output to the `output`.
Works like unix script command with `-f` flag.
"""
if not os.environ.get('SHELL'):
logs.warn("Shell logger doesn't support your platform.")
sys.exit(1)
fd = os.open(output, os.O_CREAT | os.O_TRUNC | os.O_RDWR)
os.write(fd, b'\x00' * const.LOG_SIZE_IN_BYTES)
buffer = mmap.mmap(fd, const.LOG_SIZE_IN_BYTES, mmap.MAP_SHARED, mmap.PROT_WRITE)
return_code = _spawn(os.environ['SHELL'], partial(_read, buffer))
sys.exit(return_code)
示例9: perf_events
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def perf_events(trace_file: str) -> Generator[ct.Structure, None, None]:
with open(trace_file, "rb+") as f:
fd = f.fileno()
size = os.fstat(fd).st_size
with MMap(fd, size, mmap.PROT_READ, mmap.MAP_SHARED) as mm:
header_size = ct.sizeof(perf_event_header)
i = 0
while i != size:
assert (size - i) >= header_size
ev = perf_event_header.from_address(mm.addr + i)
struct_factory = EVENTS.get(ev.type)
if struct_factory is None:
raise Exception("unexpected perf_event type: %d", ev.type)
struct_type = struct_factory(ev.size)
struct_size = ct.sizeof(struct_type)
assert (size - i) >= struct_size
struct = struct_type.from_address(mm.addr + i)
yield struct
i += ev.size
示例10: open_device
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def open_device():
global _initialized
if not _initialized:
global _pwmfile
_pwmfile = os.open(lms2012.PWM_DEVICE_NAME, os.O_RDWR | os.O_SYNC)
global _motorfile
_motorfile = os.open(lms2012.MOTOR_DEVICE_NAME, os.O_RDWR | os.O_SYNC)
MOTORDATAArrray = lms2012.MOTORDATA * 4
global _motormm
_motormm = mmap(fileno=_motorfile, length=sizeof(MOTORDATAArrray),
flags=MAP_SHARED, prot=PROT_READ | PROT_WRITE, offset=0)
global _motordata
_motordata = MOTORDATAArrray.from_buffer(_motormm)
_initialized = True
os.write(_pwmfile, struct.pack('B', lms2012.opPROGRAM_START))
# This does not look required. Types are TACHO (for the big engines) and MINITACHO for the gun one
# and firmware should recognize them properly.
# def set_types(types):
# os.write(_pwmfile, struct.pack('5B', lms2012.opOUTPUT_SET_TYPE, *types))
示例11: get
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def get(self,request):
n=12
try:
size = os.path.getsize(ACTIVITY_LOG)
with open(ACTIVITY_LOG, "rb") as f:
# for Windows the mmap parameters are different
fm = mmap.mmap(f.fileno(), 0, mmap.MAP_SHARED, mmap.PROT_READ)
for i in xrange(size - 1, -1, -1):
if fm[i] == '\n':
n -= 1
if n == -1:
break
lines = fm[i + 1 if i else 0:].splitlines()
return JsonResponse({'status': "success", 'log': lines})
except Exception as err:
return JsonResponse({'status' : "error",'messagge' : err})
finally:
try:
fm.close()
except (UnboundLocalError, TypeError):
return JsonResponse({'status':"error", 'message': "Activity log file is empty"})
#index
示例12: wipe
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def wipe(self):
filter_bitmap_fd = os.open("/dev/shm/kafl_filter0", os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(filter_bitmap_fd, self.config.config_values['BITMAP_SHM_SIZE'])
filter_bitmap = mmap.mmap(filter_bitmap_fd, self.config.config_values['BITMAP_SHM_SIZE'], mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
for i in range(self.config.config_values['BITMAP_SHM_SIZE']):
filter_bitmap[i] = '\x00'
filter_bitmap.close()
os.close(filter_bitmap_fd)
filter_bitmap_fd = os.open("/dev/shm/kafl_tfilter", os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(filter_bitmap_fd, 0x1000000)
filter_bitmap = mmap.mmap(filter_bitmap_fd, 0x1000000, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
for i in range(0x1000000):
filter_bitmap[i] = '\x00'
filter_bitmap.close()
os.close(filter_bitmap_fd)
示例13: __set_binary
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def __set_binary(self, filename, binaryfile, max_size):
shm_fd = os.open(filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(shm_fd, max_size)
shm = mmap.mmap(shm_fd, max_size, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
shm.seek(0x0)
shm.write('\x00' * max_size)
shm.seek(0x0)
f = open(binaryfile, "rb")
bytes = f.read(1024)
if bytes:
shm.write(bytes)
while bytes != "":
bytes = f.read(1024)
if bytes:
shm.write(bytes)
shm.flush()
f.close()
shm.close()
os.close(shm_fd)
示例14: init
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def init(self):
self.control = safe_socket(socket.AF_UNIX)
self.control.settimeout(None)
self.control.setblocking(1)
while True:
try:
self.control.connect(self.control_filename)
break
except socket_error:
pass
self.kafl_shm_f = os.open(self.bitmap_filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
self.fs_shm_f = os.open(self.payload_filename, os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(self.kafl_shm_f, self.bitmap_size)
os.ftruncate(self.fs_shm_f, (128 << 10))
self.kafl_shm = mmap.mmap(self.kafl_shm_f, self.bitmap_size, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
self.fs_shm = mmap.mmap(self.fs_shm_f, (128 << 10), mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)
return True
示例15: create_bitmap
# 需要导入模块: import mmap [as 别名]
# 或者: from mmap import MAP_SHARED [as 别名]
def create_bitmap(self, name):
self.bitmap_fd = os.open(self.config.argument_values['work_dir'] + "/bitmaps/" + name,
os.O_RDWR | os.O_SYNC | os.O_CREAT)
os.ftruncate(self.bitmap_fd, self.config.config_values['BITMAP_SHM_SIZE'])
self.bitmap = mmap.mmap(self.bitmap_fd, self.bitmap_size, mmap.MAP_SHARED, mmap.PROT_WRITE | mmap.PROT_READ)