]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/threads.h
Mapping of whole files: Converted to size_t.
[libucw.git] / ucw / threads.h
index 567c43280682c650532f2c768b605e9eeabba7b6..89d9f65c19020bba1959d2f7d428f482ea16702b 100644 (file)
@@ -1,14 +1,16 @@
 /*
  *     The UCW Library -- Threading Helpers
  *
- *     (c) 2006--2010 Martin Mares <mj@ucw.cz>
+ *     (c) 2006--2012 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
  */
 
-#ifndef _UCW_THREAD_H
-#define _UCW_THREAD_H
+#ifndef _UCW_THREADS_H
+#define _UCW_THREADS_H
+
+#include <ucw/sighandler.h>
 
 /* This structure holds per-thread data */
 
@@ -18,6 +20,11 @@ struct ucwlib_context {
   struct asio_queue *io_queue;         // Async I/O queue for fb-direct.c
   ucw_sighandler_t *signal_handlers;   // Signal handlers for sighandler.c
   struct main_context *main_context;   // Current context for mainloop.c
+  struct cf_context *cf_context;       // Current context for configuration parser
+  // Resources and transactions:
+  struct respool *current_respool;     // Current resource pool
+  struct mempool *trans_pool;          // Transaction mempool
+  struct trans *current_trans;         // Currently open transaction
 };
 
 #ifdef CONFIG_UCW_THREADS
@@ -42,8 +49,8 @@ extern uns ucwlib_thread_stack_size;
 
 /* We have no threads, let's simulate the context and locking */
 
-extern struct ucwlib_context default_ucwlib_context;
-static inline struct ucwlib_context *ucwlib_thread_context(void) { return &default_ucwlib_context; }
+extern struct ucwlib_context ucwlib_default_context;
+static inline struct ucwlib_context *ucwlib_thread_context(void) { return &ucwlib_default_context; }
 
 static inline int ucwlib_thread_id(struct ucwlib_context *c UNUSED) { return 0; }