DragonFly bugs List (threaded) for 2009-10
Re: [issue1528] ktrace does not show proper return values for pipe(2)
Stathis Kamperis (via DragonFly issue tracker) wrote:
Stathis Kamperis <email@example.com> added the comment:
I've added a kprintf in ktrsysret() and here is what printed:
1126 a.out CALL pipe
1126 a.out RET ret=3 error=0 code=42 pipe 3
Question is why `ret' contains the first file descriptor of the pair at all.
(and not zero as ought to)
This is because sys_pipe returns both fds as return value, namely
sysmsg_fds and sysmsg_fds. However ktrsysret is only called with
sysmsg_result, which covers only the first fd.
I guess the pipe libc glue code copies this result into the array.
<3 the future +++ RENT this banner advert +++ ASCII Ribbon /"\
rock the past +++ space for low CHF NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \