Merge branch 'mainstream'
[sliver-openvswitch.git] / lib / ovs-thread.h
index f10bc28..b6d973f 100644 (file)
@@ -276,7 +276,10 @@ void xpthread_join(pthread_t, void **);
         if (!value) {                                                   \
             static const NAME##_type initial_value = __VA_ARGS__;       \
                                                                         \
-            value = xmalloc(sizeof *value);                             \
+            value = malloc(sizeof *value);                              \
+            if (value == NULL) {                                        \
+                out_of_memory();                                        \
+            }                                                           \
             *value = initial_value;                                     \
             xpthread_setspecific(NAME##_key, value);                    \
         }                                                               \
@@ -313,7 +316,10 @@ void xpthread_join(pthread_t, void **);
         if (!value) {                                                   \
             static const NAME##_type initial_value = __VA_ARGS__;       \
                                                                         \
-            value = xmalloc(sizeof *value);                             \
+            value = malloc(sizeof *value);                              \
+            if (value == NULL) {                                        \
+                out_of_memory();                                        \
+            }                                                           \
             *value = initial_value;                                     \
             xpthread_setspecific(NAME##_key, value);                    \
         }                                                               \
@@ -449,7 +455,7 @@ bool ovsthread_once_start__(struct ovsthread_once *once)
     OVS_TRY_LOCK(false, once->mutex);
 
 static inline bool
-ovsthread_once_is_done__(const struct ovsthread_once *once)
+ovsthread_once_is_done__(struct ovsthread_once *once)
 {
     bool done;
 
@@ -496,5 +502,9 @@ pid_t xfork_at(const char *where);
 
 void forbid_forking(const char *reason);
 bool may_fork(void);
+\f
+/* Useful functions related to threading. */
+
+int count_cpu_cores(void);
 
 #endif /* ovs-thread.h */