${LINK} -o $@ ${INTERLOG_OBJS} ${COMMON_LIB}_${thrflavour} ${EXT_LIB}
glite-lb-notif-interlogd: ${INTERLOG_NOTIF_OBJS}
- ${LINK} -export-dynamic -o $@ ${INTERLOG_NOTIF_OBJS} ${COMMON_LIB}_${thrflavour} ${EXT_LIB}
+ ${LINK} -export-dynamic -o $@ ${INTERLOG_NOTIF_OBJS} ${COMMON_LIB}_${thrflavour} ${EXT_LIB}
glite-lb-interlogd-perf: ${INTERLOG_PERF_OBJS}
${LINK} -o $@ ${INTERLOG_PERF_OBJS} ${COMMON_LIB}_${thrflavour} ${EXT_LIB}
pthread_rwlock_t commit_lock; /* lock to prevent simultaneous updates to last_committed_* */
pthread_rwlock_t offset_lock; /* lock to prevent simultaneous updates offset */
pthread_rwlock_t use_lock; /* lock to prevent struct deallocation */
-#if defined(IL_NOTIFICATIONS)
char *dest; /* host:port destination */
-#endif
};
struct event_store *es; /* cache for corresponding event store */
int generation; /* event store genereation */
long receipt_to; /* receiver (long local-logger id - LLLID) of delivery confirmation (for priority messages) */
-#if defined(IL_NOTIFICATIONS)
char *dest_name;
int dest_port;
char *dest;
-#endif
time_t expires; /* time (in seconds from epoch) the message expires */
};
int timeout; /* queue timeout */
struct event_queue_msg *tail; /* last message in the queue */
struct event_queue_msg *head; /* first message in the queue */
-#if defined(INTERLOGD_EMS)
struct event_queue_msg *tail_ems; /* last priority message in the queue (or NULL) */
struct event_queue_msg *mark_this; /* mark message for removal */
struct event_queue_msg *mark_prev; /* predecessor of the marked message */
-#endif
pthread_t thread_id; /* id of associated thread */
pthread_rwlock_t update_lock; /* mutex for queue updates */
pthread_mutex_t cond_lock; /* mutex for condition variable */
pthread_cond_t ready_cond; /* condition variable for message arrival */
-#if defined(INTERLOGD_HANDLE_CMD) && defined(INTERLOGD_FLUSH)
int flushing;
int flush_result; /* result of flush operation */
pthread_cond_t flush_cond; /* condition variable for flush operation */
-#endif
/* statistics */
int times_empty; /* number of times the queue was emptied */
int max_len; /* max queue length */
plugin->next = plugins;
plugins = plugin;
+
DL_RESOLVESYM(plugin->plugin_def.plugin_init, dl_handle, "plugin_init", int(*)(char *));
DL_RESOLVESYM(plugin->plugin_def.plugin_supports_scheme, dl_handle, "plugin_supports_scheme", int(*)(const char *));
DL_RESOLVESYM(plugin->plugin_def.event_queue_connect, dl_handle, "event_queue_connect", int (*)(struct event_queue*));
/* create the thread itself */
pthread_attr_init(&attr);
- pthread_attr_setstacksize(&attr, 16384);
+ pthread_attr_setstacksize(&attr, 65536);
if(pthread_create(&eq->thread_id, &attr, queue_thread, eq) < 0) {
eq->thread_id = 0;
set_error(IL_SYS, errno, "event_queue_create_thread: error creating new thread");