GNU bug report logs - #6330
Feature request: mktemp creates named pipes

Previous Next

Package: coreutils;

Reported by: Sebastien Andre <wayana <at> users.sourceforge.net>

Date: Wed, 2 Jun 2010 15:47:02 UTC

Severity: normal

Tags: notabug

Merged with 6900

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #26 received at 6330 <at> debbugs.gnu.org (full text, mbox):

From: Sebastien Andre <wayana <at> users.sourceforge.net>
To: Jim Meyering <jim <at> meyering.net>
Cc: Eric Blake <eblake <at> redhat.com>, 6330 <at> debbugs.gnu.org
Subject: Re: bug#6330: Feature request: mktemp creates named pipes
Date: Tue, 8 Jun 2010 08:36:53 +0200
[Message part 1 (text/plain, inline)]
On Sat, Jun 5, 2010 at 9:25 AM, Jim Meyering <jim <at> meyering.net> wrote:

> Sebastien Andre wrote:
> ...
> > I see two reasons why the addition of a --fifo option is better than
> using
> > existing tools:
> >
> >     * Creating a temporary directory to finally create a pipe just
> because
> > it is safe this way is kind of a trick. For the clarity of scripts, it
> would
> > be better having mktemp to ensure the uniqueness of a fifo, even if it's
> > created in /
>
> "because it is safe" is often a good reason to learn and use a new idiom.
> When you first encounter such an idiom, it does indeed look like a "trick".
>
>
Well, after all an idiom might just be a "popular trick"



> >     * mktemp is not only a tool to create unique files, it's also a name
> > generator. The example given in the manual works for one or two fifos,
> but
> > if the number of fifos is unknown there is no choice but implementing
> > something to generate names, which is another potential source of bugs.
>
> Any code addition is an opportunity to introduce bugs ;-)
>
> What if someone wants a uniquely-named symlink?
> New option?  ... or a shared memory object?  Add another?
> Wouldn't it be better to use the tried and true (safe) idiom
> that will work with all versions of mktemp?  Then
> your script will work also on systems that use the
> version of mktemp that predated the one in coreutils.
>

Thank you for broadening the question.

You made me realize that what I really want is to use the tempnam(3)
function
in shell scripts. But having a tempnam command in a shell script would be
unsafe unless
something is created atomically when invoked. If mktemp(1) is not the right
place for this, how about adding a -t/--template option to the mkfifo(1) ?

Wanting to get a unique name in a given directory according to a template
doesn't
sound too specific to me, maybe some other people need it?
[Message part 2 (text/html, inline)]

This bug report was last modified 14 years and 4 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.