X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=lib%2Fopenssl%2Futil%2Fmkdir-p.pl;h=328060243f3c5ad18f30803ce3716cc1cdfe86fe;hb=02ed66432c92de70694700164f986190aad3cbc5;hp=e73d02b073bbf6171d300b1d66ca2be542dcf15a;hpb=89016837dcbf2775cd15dc8cbaba00dc6379f86e;p=cassiopeia.git diff --git a/lib/openssl/util/mkdir-p.pl b/lib/openssl/util/mkdir-p.pl index e73d02b..3280602 100755 --- a/lib/openssl/util/mkdir-p.pl +++ b/lib/openssl/util/mkdir-p.pl @@ -1,6 +1,10 @@ -#!/usr/local/bin/perl - -# mkdir-p.pl +#! /usr/bin/env perl +# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html # On some systems, the -p option to mkdir (= also create any missing parent # directories) is not available. @@ -29,6 +33,12 @@ sub do_mkdir_p { do_mkdir_p($parent); } - mkdir($dir, 0777) || die "Cannot create directory $dir: $!\n"; + unless (mkdir($dir, 0777)) { + if (-d $dir) { + # We raced against another instance doing the same thing. + return; + } + die "Cannot create directory $dir: $!\n"; + } print "created directory `$dir'\n"; }