my $shared_memory_segment_created = 0; while (! $shared_memory_segment_created) { $shared_memory_segment_created = eval { tie %events, 'IPC::Shareable', { key => _rand_shm_key(), create => 1, exclusive => 1, protected => _shm_lock(), mode => 0600, destroy => 1 }; 1; }; }