GNUNET_CONTAINER_DLL_remove (h->mq_head,
h->mq_tail,
qe);
- qe->cont (qe->cont_cls, GNUNET_NO);
+ if (NULL != qe->cont)
+ qe->cont (qe->cont_cls, GNUNET_NO);
GNUNET_free (qe);
}
/* purge MST buffer */
- GNUNET_SERVER_mst_receive (h->mst, NULL, NULL, 0, GNUNET_YES, GNUNET_NO);
+ (void) GNUNET_SERVER_mst_receive (h->mst, NULL, NULL, 0, GNUNET_YES, GNUNET_NO);
}
*/
static void
helper_read (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tsdkctx)
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_HELPER_Handle *h = cls;
char buf[GNUNET_SERVER_MAX_MESSAGE_SIZE];
ssize_t t;
h->read_task = GNUNET_SCHEDULER_NO_TASK;
- if (0 != (tsdkctx->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
+ if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
{
/* try again */
h->read_task = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
_("Got %u bytes from helper `%s'\n"),
(unsigned int) t,
h->binary_name);
+ h->read_task = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
+ h->fh_from_helper, &helper_read, h);
if (GNUNET_SYSERR ==
GNUNET_SERVER_mst_receive (h->mst, NULL, buf, t, GNUNET_NO, GNUNET_NO))
{
GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
&restart_task, h);
return;
-
}
- h->read_task = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
- h->fh_from_helper, &helper_read, h);
}
h->fh_to_helper =
GNUNET_DISK_pipe_handle (h->helper_in, GNUNET_DISK_PIPE_END_WRITE);
h->helper_proc =
- GNUNET_OS_start_process_vap (h->helper_in, h->helper_out,
+ GNUNET_OS_start_process_vap (GNUNET_NO,
+ h->helper_in, h->helper_out,
h->binary_name,
h->binary_argv);
if (NULL == h->helper_proc)
GNUNET_CONTAINER_DLL_remove (h->mq_head,
h->mq_tail,
qe);
- qe->cont (qe->cont_cls, GNUNET_SYSERR);
+ if (NULL != qe->cont)
+ qe->cont (qe->cont_cls, GNUNET_SYSERR);
GNUNET_free (qe);
}
stop_helper (h);
*/
static void
helper_write (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tsdkctx)
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_HELPER_Handle *h = cls;
struct HelperMessageQueueEntry *qe;
ssize_t t;
h->write_task = GNUNET_SCHEDULER_NO_TASK;
- if (0 != (tsdkctx->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
+ if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
{
/* try again */
h->write_task = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,