@@ -453,6 +453,7 @@ impl<'a> Iterator for CmsgIterator<'a> {
453
453
// to valid data returned by recvmsg(2)
454
454
self . cmsghdr = unsafe {
455
455
let p = CMSG_NXTHDR ( self . mhdr as * const _ , hdr as * const _ ) ;
456
+ println ! ( "Next cmsg @ {:?}" , p) ;
456
457
p. as_ref ( )
457
458
} ;
458
459
cm
@@ -594,6 +595,7 @@ impl ControlMessageOwned {
594
595
let p = CMSG_DATA ( header) ;
595
596
let len = header as * const _ as usize + header. cmsg_len as usize
596
597
- p as usize ;
598
+ println ! ( "Decoding cmsg level={} type={}" , ( * header) . cmsg_level, ( * header) . cmsg_type) ;
597
599
match ( ( * header) . cmsg_level , ( * header) . cmsg_type ) {
598
600
( libc:: SOL_SOCKET , libc:: SCM_RIGHTS ) => {
599
601
let n = len / mem:: size_of :: < RawFd > ( ) ;
@@ -897,9 +899,12 @@ pub fn recvmsg<'a>(fd: RawFd, iov: &[IoVec<&mut [u8]>],
897
899
// got control message(s)
898
900
debug_assert ! ( !mhdr. msg_control. is_null( ) ) ;
899
901
debug_assert ! ( msg_controllen >= mhdr. msg_controllen as usize ) ;
902
+ let sl = slice:: from_raw_parts ( msg_control, msg_controllen) ;
903
+ println ! ( "msg_controllen={} msg_buffer {:?} @ {:?}" ,
904
+ msg_controllen, sl, msg_control) ;
900
905
let hdr = CMSG_FIRSTHDR ( & mhdr as * const msghdr ) ;
901
- println ! ( "cmsghdr: cmsg_len={}, cmsg_level={}, cmsg_type={}" ,
902
- ( * hdr) . cmsg_len, ( * hdr) . cmsg_level, ( * hdr) . cmsg_type) ;
906
+ println ! ( "cmsghdr: {:?} cmsg_len={}, cmsg_level={}, cmsg_type={}" ,
907
+ hdr , ( * hdr) . cmsg_len, ( * hdr) . cmsg_level, ( * hdr) . cmsg_type) ;
903
908
hdr
904
909
} else {
905
910
ptr:: null ( )
0 commit comments