extern MBLKP allocb_wait(int, int);
MBLKP bindnam;
int addrsize = sizeof(struct sockaddr_in);
+ struct file *fp;
+ extern struct fileops socketops;
#endif
#ifdef AFS_SGI65_ENV
bhv_desc_t bhv;
#endif
#if defined(AFS_HPUX102_ENV)
#if defined(AFS_HPUX110_ENV)
+ /* we need a file associated with the socket so sosend in NetSend
+ will not fail */
/* blocking socket */
code = socreate(AF_INET, &newSocket, SOCK_DGRAM, 0, 0);
+ fp = falloc();
+ if (!fp) goto bad;
+ fp->f_flag = FREAD | FWRITE;
+ fp->f_type = DTYPE_SOCKET;
+ fp->f_ops = &socketops;
+
+ fp->f_data = (void *) newSocket;
+ newSocket->so_fp = (void *)fp;
+
#else /* AFS_HPUX110_ENV */
code = socreate(AF_INET, &newSocket, SOCK_DGRAM, 0, SS_NOWAIT);
#endif /* else AFS_HPUX110_ENV */
#if defined(AFS_DARWIN_ENV) && defined(KERNEL_FUNNEL)
thread_funnel_switch(KERNEL_FUNNEL, NETWORK_FUNNEL);
#endif
+#ifdef AFS_HPUX110_ENV
+ if (asocket->so_fp) {
+ struct file * fp = asocket->so_fp;
+#if !defined(AFS_HPUX1123_ENV)
+ /* 11.23 still has falloc, but not FPENTRYFREE !
+ so for now if we shutdown, we will waist a file
+ structure */
+ FPENTRYFREE(fp);
+ asocket->so_fp = NULL;
+#endif
+ }
+#endif /* AFS_HPUX110_ENV */
soclose(asocket);
#if defined(AFS_DARWIN_ENV) && defined(KERNEL_FUNNEL)
thread_funnel_switch(NETWORK_FUNNEL, KERNEL_FUNNEL);