Hello all,
I'm following up on my earlier message where I believed that I_PUNLINK did
not work with MUXID_ALL. That turned out not to be the case (thanks, Dave,
I was misreading the code) but now I seem to have found a bug for real.
The following test case will show the bug: In util/strtst.c, just change
the PLINK/PUNLINK test code in mux_test() so that the file descriptors to
the "upper" driver (the mini-mux driver) are closed and reopened after the
I_PLINK calls are made and before the I_PUNLINK calls. Then the I_PUNLINK
will fail to unlink although the ioctl() call returns 0.
I added some printk's to the LiS link/unlink code in head.c to print some
values of the "hd" pointer used to store data about the active stream heads.
I notice that when the link is done, in str_link_mux(), hd is non-null and
hd->sd_mux.mx_hd is also non-null. However, in lis_i_unlink(), hd is
non-null and hd->sd_mux.mx_hd is also non-null for a stream head that has
not been closed and reopened; but the latter pointer is null for a stream
head that *has* been closed and reopened.
Thanks for any help,
---
Alex Chamberlain
[EMAIL PROTECTED]
Polaris Communications Inc.
"Products that unite the data center"
----------------------- *THE_LIST_HAS_MOVED* -------------------------------
It is now hosted at gsyc.escet.urjc.es.
To (un)subscribe send a mail to <[EMAIL PROTECTED]>
To send a contribution send a mail to <[EMAIL PROTECTED]>
Web archives for lists can be found at http://gsyc.escet.urjc.es/lists