ast_cli(fd, "IAX2 Thread Information\n");
time(&t);
ast_cli(fd, "Idle Threads:\n");
+#ifdef DEBUG_SCHED_MULTITHREAD
ASTOBJ_CONTAINER_TRAVERSE(&idlelist, 1, {
ast_cli(fd, "Thread %d: state=%d, update=%d, actions=%d, refcnt=%d, func ='%s'\n",
- iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount,
-#ifdef DEBUG_SCHED_MULTITHREAD
- iterator->curfunc
+ iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount, iterator->curfunc);
+ threadcount++;
+ });
#else
- ""
-#endif
- );
+ ASTOBJ_CONTAINER_TRAVERSE(&idlelist, 1, {
+ ast_cli(fd, "Thread %d: state=%d, update=%d, actions=%d, refcnt=%d\n",
+ iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount);
threadcount++;
});
+#endif
ast_cli(fd, "Active Threads:\n");
- ASTOBJ_CONTAINER_TRAVERSE(&activelist, 1, {
- ast_cli(fd, "Thread %d: state=%d, update=%d, actions=%d, refcnt=%d, func ='%s'\n",
- iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount,
#ifdef DEBUG_SCHED_MULTITHREAD
- iterator->curfunc
+ ASTOBJ_CONTAINER_TRAVERSE(&idlelist, 1, {
+ ast_cli(fd, "Thread %d: state=%d, update=%d, actions=%d, refcnt=%d, func ='%s'\n",
+ iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount, iterator->curfunc);
+ threadcount++;
+ });
#else
- ""
-#endif
- );
+ ASTOBJ_CONTAINER_TRAVERSE(&idlelist, 1, {
+ ast_cli(fd, "Thread %d: state=%d, update=%d, actions=%d, refcnt=%d\n",
+ iterator->threadnum, iterator->iostate, (int)(t - iterator->checktime), iterator->actions, iterator->refcount);
threadcount++;
});
+#endif
ast_cli(fd, "%d of %d threads accounted for\n", threadcount, iaxthreadcount);
return RESULT_SUCCESS;
}