/* This file is part of Pazpar2.
- Copyright (C) 2006-2010 Index Data
+ Copyright (C) 2006-2013 Index Data
Pazpar2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
assert(p->input_queue);
work_this = queue_remove_last(&p->input_queue);
input_queue_length--;
+#if 0
yaz_log(YLOG_DEBUG, "input queue length after pop: %d", input_queue_length);
+#endif
assert(work_this);
yaz_mutex_leave(p->mutex);
/* work on this item */
p->work_handler(work_this->data);
-
+
/* put it back into output queue */
yaz_mutex_enter(p->mutex);
work_this->next = p->output_queue;
#else
(void) write(p->write_fd, "", 1);
#endif
- }
+ }
yaz_mutex_leave(p->mutex);
return 0;
}
{
nmem_destroy(nmem);
return 0;
- }
+ }
*read_fd = p->read_fd = yaz_spipe_get_read_fd(p->spipe);
p->write_fd = yaz_spipe_get_write_fd(p->spipe);
p->stop_flag = 1;
yaz_cond_broadcast(p->input_data);
yaz_mutex_leave(p->mutex);
-
+
for (i = 0; i< p->no_threads; i++)
yaz_thread_join(&p->thread_id[i], 0);
work_p->next = p->input_queue;
p->input_queue = work_p;
input_queue_length++;
+#if 0
yaz_log(YLOG_DEBUG, "sel_thread_add: Input queue length after push: %d", input_queue_length);
+#endif
yaz_cond_signal(p->input_data);
yaz_mutex_leave(p->mutex);
}
/* put freed item in free list */
work_this->next = p->free_queue;
p->free_queue = work_this;
-
+
data = work_this->data;
#ifdef WIN32
(void) recv(p->read_fd, read_buf, 1, 0);