Issue is resolved. I'm going to release an update. Inside Signal.pm, added writeable check -w '/dev/shm' $_tmp_dir_base = ($_use_dev_shm && -d '/dev/shm' && -w '/dev/shm') ? '/dev/shm' : '/tmp'; Also in test script, also added writeable check -w '/dev/shm' use_ok('MCE::Signal', qw( $tmp_dir -use_dev_shm )); if (! exists $ENV{TEMP} && -d '/dev/shm' && -w '/dev/shm') ...