Don't spawn a separate kernel thread for rx kernel listener under
authorNickolai Zeldovich <kolya@mit.edu>
Fri, 26 Apr 2002 22:27:29 +0000 (22:27 +0000)
committerNickolai Zeldovich <kolya@mit.edu>
Fri, 26 Apr 2002 22:27:29 +0000 (22:27 +0000)
Solaris, but instead just use the afsd fork for the listener. Use
of newproc() is deprecated, according to Frank.Batschulat@Sun.COM.

src/rx/rx_kcommon.c

index da117bd..97284b5 100644 (file)
@@ -1000,22 +1000,7 @@ int rxk_ReadPacket(osi_socket so, struct rx_packet *p, int *host, int *port)
  */
 int rxk_ListenerPid; /* Used to signal process to wakeup at shutdown */
 
-#ifdef AFS_SUN5_ENV
-/*
- * Run the listener as a kernel process.
- */
-void rxk_Listener(void)
-{
-    extern id_t syscid;
-    void rxk_ListenerProc(void);
-    if (newproc(rxk_ListenerProc, syscid, 59))
-       osi_Panic("rxk_Listener: failed to fork listener process!\n");
-}
-
-void rxk_ListenerProc(void)
-#else /* AFS_SUN5_ENV */
 void rxk_Listener(void)
-#endif /* AFS_SUN5_ENV */
 {
     struct rx_packet *rxp = NULL;
     int code;
@@ -1033,9 +1018,9 @@ void rxk_Listener(void)
 #if defined(AFS_DARWIN_ENV)
     rxk_ListenerPid = current_proc()->p_pid;
 #endif
-#if defined(RX_ENABLE_LOCKS) && !defined(AFS_SUN5_ENV)
+#if defined(RX_ENABLE_LOCKS)
     AFS_GUNLOCK();
-#endif /* RX_ENABLE_LOCKS && !AFS_SUN5_ENV */
+#endif /* RX_ENABLE_LOCKS */
 
     while (afs_termState != AFSOP_STOP_RXK_LISTENER) {
        if (rxp) {
@@ -1064,14 +1049,6 @@ void rxk_Listener(void)
 #if defined(AFS_LINUX22_ENV) || defined(AFS_SUN5_ENV)
     afs_osi_Wakeup(&rxk_ListenerPid);
 #endif
-#ifdef AFS_SUN5_ENV
-    AFS_GUNLOCK();
-#ifdef HAVE_P_COREFILE
-    if (!curproc->p_corefile)  /* newproc doesn't set it, but exit frees it */
-       curproc->p_corefile = refstr_alloc("core");
-#endif
-    exit(CLD_EXITED, 0);
-#endif /* AFS_SUN5_ENV */
 }
 
 #if !defined(AFS_LINUX20_ENV) && !defined(AFS_SUN5_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV)