@@ -254,28 +254,26 @@ def unlink(self):
254
254
if self ._track :
255
255
resource_tracker .unregister (self ._name , "shared_memory" )
256
256
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
279
277
280
278
281
279
_encoding = "utf8"
0 commit comments