I added some additional tracing - it never returns from
osi_StopListener.... Haven't gotten any further in than that. 

Woops, that was wrong StopListener below... It's obviously spinning in
this code:

void osi_StopListener(void)
{
    extern int (*sys_killp)();
    extern int rxk_ListenerPid;

    while (rxk_ListenerPid) {
        (void) (*sys_killp)(rxk_ListenerPid, 9);
        afs_osi_Sleep(&rxk_ListenerPid);
    }
    sock_release(rx_socket);
    rx_socket = NULL;
}



-- Nathan

------------------------------------------------------------
Nathan Neulinger                       EMail:  [EMAIL PROTECTED]
University of Missouri - Rolla         Phone: (573) 341-4841
Computing Services                       Fax: (573) 341-4216


> -----Original Message-----
> From: Neulinger, Nathan 
> Sent: Wednesday, March 13, 2002 1:17 PM
> To: Derrick J Brashear
> Cc: [EMAIL PROTECTED]
> Subject: [OpenAFS-devel] RE: OpenAFS with Linux Kernel 2.4.18
> 
> 
> void osi_linux_unmask() {
>     spin_lock_irq(&rxk_ListenerTask->sigmask_lock);
>     sigemptyset(&rxk_ListenerTask->blocked);
>     recalc_sigpending(rxk_ListenerTask);
>     spin_unlock_irq(&rxk_ListenerTask->sigmask_lock);
> }
> 
> /* unmask signals in rxk listener */
> void afs_osi_UnmaskRxkSignals(){
> #ifdef AFS_LINUX22_ENV
>     osi_linux_unmask();
> #endif
> }
> 
> and here is where it's actually called:
> 
> #if defined(RXK_LISTENER_ENV)
>     afs_warn("RxListener... ");
> #ifndef UKERNEL
>     afs_osi_UnmaskRxkSignals();
> #endif
>     /* cancel rx listener */
>     osi_StopListener(); /* This closes rx_socket. */
>     while (afs_termState == AFSOP_STOP_RXK_LISTENER)
>         afs_osi_Sleep(&afs_termState);
> #endif
> #else
>     afs_termState =  AFSOP_STOP_COMPLETE;
> #endif
>     afs_warn("\n");
> 
> 
> It eventually makes it's way to a LWP_DestroyProcess in rx/rx_lwp.c. 
> 
> I'm checking to see if I can track down where exactly it's 
> hanging, but
> I figured this would help.
> 
> -- Nathan
> 
> ------------------------------------------------------------
> Nathan Neulinger                       EMail:  [EMAIL PROTECTED]
> University of Missouri - Rolla         Phone: (573) 341-4841
> Computing Services                       Fax: (573) 341-4216
> 
> 
> > -----Original Message-----
> > From: Derrick J Brashear [mailto:[EMAIL PROTECTED]] 
> > Sent: Wednesday, March 13, 2002 12:26 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [OpenAFS] OpenAFS with Linux Kernel 2.4.18 
> > 
> > 
> > On Wed, 13 Mar 2002, Neulinger, Nathan wrote:
> > 
> > > Hmm... Let me see if I can reproduce it... I think you may 
> > be right - I
> > > think it was the RxListener entry. 
> > > 
> > > Yep, you were right, it hangs right after RxListener... 
> Anything you
> > > want me to try (this is a development box that I test 
> -current on.)
> > 
> > the magic to let it be signalled should happen in 
> > osi_linux_unmask, and
> > then the pid of the listener should be getting "kill"ed, 
> > iirc. see if it
> > is
> > 
> > _______________________________________________
> > OpenAFS-info mailing list
> > [EMAIL PROTECTED]
> > https://lists.openafs.org/mailman/listinfo/openafs-info
> > 
> _______________________________________________
> OpenAFS-devel mailing list
> [EMAIL PROTECTED]
> https://lists.openafs.org/mailman/listinfo/openafs-devel
> 
_______________________________________________
OpenAFS-devel mailing list
[EMAIL PROTECTED]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to