goto err;
f4->i = 4;
+ SILC_LOG_DEBUG(("Add one entry"));
+ silc_list_add(list, f1);
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END) {
+ SILC_LOG_DEBUG(("entry %d, %p, next=%p, prev=%p", f->i, f, f->next,
+ f->prev));
+ }
+ SILC_LOG_DEBUG(("Delete the entry"));
+ silc_list_del(list, f1);
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END)
+ goto err;
+ SILC_LOG_DEBUG(("head=%p", list.head));
+ SILC_LOG_DEBUG(("Re-add the entry"));
+ silc_list_add(list, f1);
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END) {
+ SILC_LOG_DEBUG(("entry %d, %p, next=%p, prev=%p", f->i, f, f->next,
+ f->prev));
+ }
+ SILC_LOG_DEBUG(("Delete the entry"));
+ silc_list_del(list, f1);
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END)
+ goto err;
+
SILC_LOG_DEBUG(("insert f4=%p at head"));
silc_list_insert(list, NULL, f4);
silc_list_start(list);
}
-SILC_TASK_CALLBACK(cont)
+SILC_TASK_CALLBACK(timeout)
{
- int i;
+ int i = (int)context;
+ SILC_LOG_DEBUG(("Timeout task %d", i));
+}
+
+SILC_TASK_CALLBACK(cont2)
+{
+#ifdef SILC_DEBUG
+ silc_schedule_stats(schedule);
+#endif /* SILC_DEBUG */
SILC_LOG_DEBUG(("Adding %d fd tasks", NUM_FTASK - 10));
#endif
}
-SILC_TASK_CALLBACK(timeout)
+SILC_TASK_CALLBACK(cont)
{
- int i = (int)context;
- SILC_LOG_DEBUG(("Timeout task %d", i));
+ int i;
+
+#ifdef SILC_DEBUG
+ silc_schedule_stats(schedule);
+#endif /* SILC_DEBUG */
+
+ SILC_LOG_DEBUG(("Adding %d timeout tasks", NUM_TTASK / 3));
+ for (i = 0; i < NUM_TTASK / 3; i++)
+ silc_schedule_task_add_timeout(schedule, timeout, (void *)i, 0, 1);
+
+ silc_schedule_task_add_timeout(schedule, cont2, (void *)i, 0, 100);
}
SILC_TASK_CALLBACK(start)