In the old scheduler implementation tasks with different priorities were
run in the same event loop iteration, in the new implementation this
cannot be guaranteed anymore, as it's driver-dependent.
For the FS tests this means that when adding both an 'abort' task and a
'restart' task (the latter with higher priority) the 'restart' task
didn't take effect with the old implementation but does with the new
implementation (and leads to an assertion failure).
Not scheduling the 'restart' task when the action (download/publish) has
already finished successfully solves this issue.
GNUNET_FS_DOWNLOAD_OPTION_NONE, "download", NULL);
break;
case GNUNET_FS_STATUS_DOWNLOAD_COMPLETED:
- consider_restart (event->status);
printf ("Download complete, %llu kbps.\n",
(unsigned long long) (FILESIZE * 1000000LL /
(1 +
switch (event->status)
{
case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
- consider_restart (event->status);
ret = event->value.publish.cctx;
printf ("Publish complete, %llu kbps.\n",
(unsigned long long) (FILESIZE * 1000000LL /