/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
- *
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
pcb->atpcb_head = head;
pcb->atpcb_socket = so;
+ atalk_lock(); /* makes sure the list is locked while inserting atpcb */
if (head)
insque((queue_t)pcb, (queue_t)head);
so->so_pcb = (caddr_t)pcb;
+ atalk_unlock();
return (0);
}
}
so->so_pcb = 0;
+ so->so_flags |= SOF_PCBCLEARING;
if ((pcb->atpcb_next) && (pcb->atpcb_prev))
remque((queue_t)pcb);
- zfree(atpcb_zone, (vm_offset_t)pcb);
+ zfree(atpcb_zone, pcb);
sofree(so);
return(0);
}