aboutsummaryrefslogtreecommitdiff
path: root/src/arm/gnunet-service-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arm/gnunet-service-manager.c')
-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 {