DragonFly BSD
DragonFly bugs List (threaded) for 2009-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue1528] ktrace does not show proper return values for pipe(2)


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Fri, 30 Oct 2009 19:36:58 +0100

Stathis Kamperis (via DragonFly issue tracker) wrote:
Stathis Kamperis <ekamperi@gmail.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[0] and sysmsg_fds[1]. 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.

cheers
  simon

--
  <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   / \



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]