Thread overview
creating a temporary fifo (tmpfile but for fifo)
Feb 12, 2017
Timothee Cour
Feb 13, 2017
Paul Backus
Feb 16, 2017
Paul Backus
Feb 16, 2017
John Colvin
Feb 17, 2017
Timothee Cour
Feb 17, 2017
Anonymouse
February 12, 2017
* std.stdio.tempfile creates an (unnamed) File. How do I create a temporary
fifo instead?
my workaround is to use tempnam but docs says it's not recommended (
http://man7.org/linux/man-pages/man3/tempnam.3.html)

* could we allow specifying a directory name for tmpfile?


February 13, 2017
On Sunday, 12 February 2017 at 11:47:26 UTC, Timothee Cour wrote:
> * std.stdio.tempfile creates an (unnamed) File. How do I create a temporary
> fifo instead?
> my workaround is to use tempnam but docs says it's not recommended (
> http://man7.org/linux/man-pages/man3/tempnam.3.html)

I believe the recommended function for this is mkstemp. [1]

> * could we allow specifying a directory name for tmpfile?

Yes, using mkdtemp. [2]

Note that these functions are part of POSIX but not C99, and are not included in D's core.stdc module.

[1] http://man7.org/linux/man-pages/man3/mkstemp.3.html
[2] http://man7.org/linux/man-pages/man3/mkdtemp.3.html
February 13, 2017
On 2/13/17 12:12 PM, Paul Backus wrote:
> On Sunday, 12 February 2017 at 11:47:26 UTC, Timothee Cour wrote:
>> * std.stdio.tempfile creates an (unnamed) File. How do I create a
>> temporary
>> fifo instead?
>> my workaround is to use tempnam but docs says it's not recommended (
>> http://man7.org/linux/man-pages/man3/tempnam.3.html)
>
> I believe the recommended function for this is mkstemp. [1]
>
>> * could we allow specifying a directory name for tmpfile?
>
> Yes, using mkdtemp. [2]
>
> Note that these functions are part of POSIX but not C99, and are not
> included in D's core.stdc module.
>
> [1] http://man7.org/linux/man-pages/man3/mkstemp.3.html
> [2] http://man7.org/linux/man-pages/man3/mkdtemp.3.html

They're declared in core.sys,posix.stdlib. -- Andrei
February 16, 2017
On Tuesday, 14 February 2017 at 03:15:53 UTC, Andrei Alexandrescu wrote:
> On 2/13/17 12:12 PM, Paul Backus wrote:
>> [...]
>> Note that these functions are part of POSIX but not C99, and are not
>> included in D's core.stdc module.
>>
>> [1] http://man7.org/linux/man-pages/man3/mkstemp.3.html
>> [2] http://man7.org/linux/man-pages/man3/mkdtemp.3.html
>
> They're declared in core.sys,posix.stdlib. -- Andrei

Thanks for the tip. Is this module documented anywhere? I can't find it in the dlang.org docs.
February 16, 2017
On Thursday, 16 February 2017 at 17:27:51 UTC, Paul Backus wrote:
> On Tuesday, 14 February 2017 at 03:15:53 UTC, Andrei Alexandrescu wrote:
>> On 2/13/17 12:12 PM, Paul Backus wrote:
>>> [...]
>>> Note that these functions are part of POSIX but not C99, and are not
>>> included in D's core.stdc module.
>>>
>>> [1] http://man7.org/linux/man-pages/man3/mkstemp.3.html
>>> [2] http://man7.org/linux/man-pages/man3/mkdtemp.3.html
>>
>> They're declared in core.sys,posix.stdlib. -- Andrei
>
> Thanks for the tip. Is this module documented anywhere? I can't find it in the dlang.org docs.

For some reason it doesn't seem to be on the website, but the source is here to read: https://github.com/dlang/druntime/blob/master/src/core/sys/posix/stdlib.d


February 16, 2017
> I believe the recommended function for this is mkstemp. [1]

Mkstemp creates a regular file, not a fifo

>> * could we allow specifying a directory name for tmpfile?

> Yes, using mkdtemp. [2]

I meant adding a D api to add a temp file rooted under a specified directory; the C api's allow that but not tempfile
February 17, 2017
On Thursday, 16 February 2017 at 17:49:07 UTC, John Colvin wrote:
> For some reason it doesn't seem to be on the website, but the source is here to read: https://github.com/dlang/druntime/blob/master/src/core/sys/posix/stdlib.d

Use the Source, Luke!