protected function make() {
		$ok = mkdir( $this->path );
		if ( !$ok ) {
			throw new GpgLibException( "Could not create temporary directory at $this->path" );
		}

		// the directory is deleted when the TempDir object goes out of scope, but PHP is not very
		// reliable about calling destructors after a fatal error
		register_shutdown_function( array( __CLASS__, 'delete' ), $this->path );

		// make permission setting a separate step as mkdir might fail silently at it
		$ok = chmod( $this->path, 0700 );
		if ( !$ok ) {
			throw new GpgLibException( "Could not make temporary directory private at $this->path" );
		}
	}