@@ -254,28 +254,26 @@ def unlink(self):
254254 if self ._track :
255255 resource_tracker .unregister (self ._name , "shared_memory" )
256256
257- def rename (self , newname , flags = 0 ):
258- """Renames a shared memory block.
259-
260- The policy how the operation is handled depends on the flag passed.
261- The default behavior is if the newname already exists, it will
262- be unlinked beforehand.
263- With the SHM_RENAME_EXCHANGE flag, the old and new name will
264- be exchanged.
265- With the SHM_RENAME_NOREPLACE flag, an error will be returned
266- if the new name exists.
267- """
268- if not hasattr (_posixshmem , "shm_rename" ):
269- raise OSError ("Unsupported operation on this platform" )
270-
271- oldname = self ._name
272- if _USE_POSIX and self ._prepend_leading_slash :
273- newname = "/" + newname
274- self ._fd = _posixshmem .shm_rename (self ._name , newname , flags )
275- if self ._track :
276- resource_tracker .unregister (oldname , "shared_memory" )
277- resource_tracker .register (newname , "shared_memory" )
278- self ._name = newname
257+ if hasattr (_posixshmem , "shm_rename" ):
258+ def rename (self , newname , flags = 0 ):
259+ """Renames a shared memory block.
260+
261+ The policy how the operation is handled depends on the flag passed.
262+ The default behavior is if the newname already exists, it will
263+ be unlinked beforehand.
264+ With the SHM_RENAME_EXCHANGE flag, the old and new name will
265+ be exchanged.
266+ With the SHM_RENAME_NOREPLACE flag, an error will be returned
267+ if the new name exists.
268+ """
269+ oldname = self ._name
270+ if _USE_POSIX and self ._prepend_leading_slash :
271+ newname = "/" + newname
272+ self ._fd = _posixshmem .shm_rename (self ._name , newname , flags )
273+ if self ._track :
274+ resource_tracker .unregister (oldname , "shared_memory" )
275+ resource_tracker .register (newname , "shared_memory" )
276+ self ._name = newname
279277
280278
281279_encoding = "utf8"
0 commit comments