Displaying 7 results from an estimated 7 matches for "old_stack".
2017 Jun 27
0
[PATCH v3 3/5] threads: Use thread-local storage for errors.
...gt;error_cb_data;
+ return error_data->error_cb;
}
void
@@ -252,13 +385,15 @@ guestfs_push_error_handler (guestfs_h *g,
guestfs_error_handler_cb cb, void *data)
{
ACQUIRE_LOCK_FOR_CURRENT_SCOPE (g);
+ struct error_data *error_data;
struct error_cb_stack *old_stack;
- old_stack = g->error_cb_stack;
- g->error_cb_stack = safe_malloc (g, sizeof (struct error_cb_stack));
- g->error_cb_stack->next = old_stack;
- g->error_cb_stack->error_cb = g->error_cb;
- g->error_cb_stack->error_cb_data = g->error_cb_data;
+ error_data = ge...
2015 Jun 06
0
[PATCH 3/5] threads: Use thread-local storage for errors.
...error_data->error_cb_data;
+ return error_data->error_cb;
}
guestfs_error_handler_cb
@@ -240,15 +373,17 @@ void
guestfs_push_error_handler (guestfs_h *g,
guestfs_error_handler_cb cb, void *data)
{
+ struct error_data *error_data;
struct error_cb_stack *old_stack;
ACQUIRE_LOCK (g);
- old_stack = g->error_cb_stack;
- g->error_cb_stack = safe_malloc (g, sizeof (struct error_cb_stack));
- g->error_cb_stack->next = old_stack;
- g->error_cb_stack->error_cb = g->error_cb;
- g->error_cb_stack->error_cb_data = g->error_cb_d...
2015 Jun 16
5
[PATCH threads v2 0/5] Add support for thread-safe handle.
Previous discussion here:
https://www.redhat.com/archives/libguestfs/2015-June/thread.html#00048
v2:
- Use a cleanup handler to release the lock.
- Rebase to upstream.
Note I have not fixed the problem(s) with error handling (patch 3).
2015 Jun 06
7
[PATCH 0/5] Add support for thread-safe handle.
This patch isn't ready to go upstream. In fact, I think we might do a
quick 1.30 release soon, and save this patch, and also the extensive
changes proposed for the test suite[1], to after 1.30.
Currently it is not safe to use the same handle from multiple threads,
unless you implement your own mutexes. See:
http://libguestfs.org/guestfs.3.html#multiple-handles-and-multiple-threads
These
2017 Jun 27
9
[PATCH v3 0/5] threads: Add support for thread-safe handle.
Previously posted in 2015:
v1: https://www.redhat.com/archives/libguestfs/2015-June/msg00048.html
v2: https://www.redhat.com/archives/libguestfs/2015-June/msg00118.html
I have rebased and tidied up the patches, fixing a few spelling
mistakes, but they are broadly the same as before. I also ran all the
tests, which pass.
As with the previous versions, this makes a change to the API, where
you
2015 Jun 06
0
[PATCH 2/5] threads: Acquire and release the lock around each public guestfs_* API.
...a_rtn)
+{
+ guestfs_error_handler_cb r;
+
+ ACQUIRE_LOCK (g);
+ r = unlocked_get_error_handler (g, data_rtn);
+ RELEASE_LOCK (g);
+ return r;
+}
+
void
guestfs_push_error_handler (guestfs_h *g,
guestfs_error_handler_cb cb, void *data)
{
struct error_cb_stack *old_stack;
+ ACQUIRE_LOCK (g);
+
old_stack = g->error_cb_stack;
g->error_cb_stack = safe_malloc (g, sizeof (struct error_cb_stack));
g->error_cb_stack->next = old_stack;
@@ -201,6 +251,8 @@ guestfs_push_error_handler (guestfs_h *g,
g->error_cb_stack->error_cb_data = g->err...
2017 Jul 21
6
[PATCH v3 REPOST 0/5] threads: Add support for thread-safe handle.
Previously posted in 2015:
v1: https://www.redhat.com/archives/libguestfs/2015-June/msg00048.html
v2: https://www.redhat.com/archives/libguestfs/2015-June/msg00118.html
This series was posted about 4 weeks ago:
v3: https://www.redhat.com/archives/libguestfs/2017-June/msg00287.html
There is no change in this series except I rebased it against current
upstream head and retested. Last time there