mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
darwin knet avoid rx socket during shutdown
theoretically a user thread can race us during shutdown and end up panicing us if the soclose happens at the wrong time. if we're shutting down just return. using afs_shuttingdown would have the side effect that we'd lose the ability to add any graceful behavior. Reviewed-on: http://gerrit.openafs.org/443 Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
cc7938e8ff
commit
3898524693
@ -45,6 +45,11 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec,
|
||||
|
||||
for (i = 0; i < nvecs; i++)
|
||||
iov[i] = dvec[i];
|
||||
|
||||
if ((afs_termState == AFSOP_STOP_RXK_LISTENER) ||
|
||||
(afs_termState == AFSOP_STOP_COMPLETE))
|
||||
return -1;
|
||||
|
||||
if (haveGlock)
|
||||
AFS_GUNLOCK();
|
||||
#if defined(KERNEL_FUNNEL)
|
||||
@ -151,8 +156,13 @@ osi_NetSend(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec,
|
||||
|
||||
addr->sin_len = sizeof(struct sockaddr_in);
|
||||
|
||||
if ((afs_termState == AFSOP_STOP_RXK_LISTENER) ||
|
||||
(afs_termState == AFSOP_STOP_COMPLETE))
|
||||
return -1;
|
||||
|
||||
if (haveGlock)
|
||||
AFS_GUNLOCK();
|
||||
|
||||
#if defined(KERNEL_FUNNEL)
|
||||
thread_funnel_switch(KERNEL_FUNNEL, NETWORK_FUNNEL);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user