Akaros pipes derive from Plan 9 pipes, which are bidirectional.

ron

On Tue, Jan 26, 2016 at 5:50 PM 'Davide Libenzi' via Akaros <
[email protected]> wrote:

> This is what you get on Linux if you do that?
>
> $ ./zpipe
>
> RDFD=3  WRFD=4
> pipe write to fd[0] (should fail): Bad file descriptor
>
> POSIX leaves as "unspecified" doing the contrary:
>
> http://pubs.opengroup.org/onlinepubs/009695399/functions/pipe.html
>
>
>
> [zpipe.c]
>
> #include <unistd.h>
> #include <stdio.h>
> #include <fcntl.h>
>
> int main(int ac, char **av)
> {
>     int fd[2];
>
>     if (pipe(fd)) {
>         perror("pipe");
>         return 1;
>     }
>     printf("RDFD=%d  WRFD=%d\n", fd[0], fd[1]);
>
>     if (write(fd[0], "w", 1) != 1) {
>         perror("pipe write to fd[0] (should fail)");
>         return 1;
>     }
>
>     return 0;
> }
>
>
> On Tue, Jan 26, 2016 at 5:30 PM, Davide Libenzi <[email protected]>
> wrote:
>
>> Does that work (pipe read side is supposed to be fd[0] and write side
>> fd[1])?
>>
>>
>>
>> On Tue, Jan 26, 2016 at 5:20 PM, ron minnich <[email protected]> wrote:
>>
>>> Oh, just for fun, I included a simple strace program in tests.
>>>
>>>
>>> https://github.com/rminnich/akaros/commit/d2d2b0c09b44d2d2df8966a12d257bd857430bae
>>>
>>> On Tue, Jan 26, 2016 at 4:12 PM ron minnich <[email protected]> wrote:
>>>
>>>> It's now dumping data correctly, PTAL
>>>>
>>>> https://github.com/rminnich/akaros/commit/97832e05ba2524579d1bbef4ef71299208030dc2
>>>>
>>>> On Tue, Jan 26, 2016 at 9:48 AM ron minnich <[email protected]> wrote:
>>>>
>>>>> updated to dump data from read and write system calls, just to show
>>>>> how it's done.
>>>>>
>>>>> If this looks ok it's not a big deal to add symbolic dumps of stuff
>>>>> like open modes, etc.
>>>>>
>>>>> in the limit we can drive the trace overhead per target system call to
>>>>> below one. The plan 9 work I did got it down to about 4, lower than the
>>>>> strace ratio of about 25.
>>>>>
>>>>> It also means, now that we can export file systems from akaros, that
>>>>> on a linux system, stracing an akaros process works like this:
>>>>> import akaros /proc akproc
>>>>> cat akproc/pid/strace
>>>>>
>>>>> All done. Distributed systems are nice. Unix, come to think of it, is
>>>>> a nice model.
>>>>>
>>>>> The following changes since commit
>>>>> 915eac00a7e0f578f9e921af2b205b6efa3739b5:
>>>>>
>>>>>   Slices: A growable list of pointers. (2016-01-25 11:02:20 -0500)
>>>>>
>>>>> are available in the git repository at:
>>>>>
>>>>>   [email protected]:rminnich/akaros strace
>>>>>
>>>>> for you to fetch changes up to
>>>>> 070b569c2962e98c2a645837fb5a332c31ac2f32:
>>>>>
>>>>>   New and easy strace framework. (2016-01-25 17:39:24 -0800)
>>>>>
>>>>> ----------------------------------------------------------------
>>>>> Ronald G. Minnich (1):
>>>>>       New and easy strace framework.
>>>>>
>>>>>  kern/drivers/dev/proc.c |  25 +++++++++++
>>>>>  kern/include/env.h      |   5 +++
>>>>>  kern/src/process.c      |   5 +++
>>>>>  kern/src/syscall.c      | 112
>>>>> ++++++++++++++++++++++++++++++++++++++++--------
>>>>>  4 files changed, 128 insertions(+), 19 deletions(-)
>>>>>
>>>>> https://github.com/rminnich/akaros/compare/rminnich:master...strace
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Akaros" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Akaros" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to