aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-05-19 19:30:06 +0000
committerChristian Grothoff <christian@grothoff.org>2010-05-19 19:30:06 +0000
commit5a147322d3e1c0d35562038fa43bdde6db2fd9e1 (patch)
tree73a25d36d9205cde3bc35c744aa7f9f72a8ed983 /src
parent0fa38ea5dc14501567565e2767cf25be935e3418 (diff)
downloadgnunet-5a147322d3e1c0d35562038fa43bdde6db2fd9e1.tar.gz
gnunet-5a147322d3e1c0d35562038fa43bdde6db2fd9e1.zip
shutdown fix
Diffstat (limited to 'src')
-rw-r--r--src/arm/gnunet-service-manager.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/arm/gnunet-service-manager.c b/src/arm/gnunet-service-manager.c
index d97ce7ffd..346ee182a 100644
--- a/src/arm/gnunet-service-manager.c
+++ b/src/arm/gnunet-service-manager.c
@@ -441,6 +441,13 @@ receiveFromService (void *cls,
441 struct GNUNET_TIME_Relative rem; 441 struct GNUNET_TIME_Relative rem;
442 442
443 fc->service_to_client_task = GNUNET_SCHEDULER_NO_TASK; 443 fc->service_to_client_task = GNUNET_SCHEDULER_NO_TASK;
444 if ( (NULL != tc) &&
445 (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) &&
446 (fc->first_write_done != GNUNET_YES) )
447 {
448 closeClientAndServiceSockets (fc, REASON_ERROR);
449 return;
450 }
444 if (GNUNET_YES != GNUNET_NETWORK_fdset_isset (tc->read_ready, 451 if (GNUNET_YES != GNUNET_NETWORK_fdset_isset (tc->read_ready,
445 fc->armServiceSocket)) 452 fc->armServiceSocket))
446 { 453 {
@@ -537,6 +544,13 @@ forwardToService (void *cls,
537 struct GNUNET_TIME_Relative rem; 544 struct GNUNET_TIME_Relative rem;
538 545
539 fc->client_to_service_task = GNUNET_SCHEDULER_NO_TASK; 546 fc->client_to_service_task = GNUNET_SCHEDULER_NO_TASK;
547 if ( (NULL != tc) &&
548 (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) &&
549 (fc->first_write_done != GNUNET_YES) )
550 {
551 closeClientAndServiceSockets (fc, REASON_ERROR);
552 return;
553 }
540 if (GNUNET_YES != GNUNET_NETWORK_fdset_isset (tc->write_ready, 554 if (GNUNET_YES != GNUNET_NETWORK_fdset_isset (tc->write_ready,
541 fc->armServiceSocket)) 555 fc->armServiceSocket))
542 { 556 {