[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] A small issue with multiple xs_daemon_open
Rafal Wojtczuk writes ("[Xen-devel] A small issue with multiple xs_daemon_open"): > I am experiencing a problem when opening two simultaneous connections (in a > single process) to xenstored via xs_daemon_open(). I would think such > an operation is supported and should work (no static variables in > libxenstore are involved); is it a correct assumption ? If so, the issue > should be fixed. This is definitely supposed to work. But as you say there are no static variables in libxenstore (even in 3.4.3). However, some threading bugs were fixed recently in xen-unstable changesets 21353, 21354 and 21374. Do these look like they might be the cause ? Ian. changeset: 21374:9d53864d7be6 user: Keir Fraser <keir.fraser@xxxxxxxxxx> date: Thu May 13 12:21:16 2010 +0100 files: tools/xenstore/xs.c description: xenstore: Fix cleanup_pop() definition for some (buggy) pthread.h headers. Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx> changeset: 21354:9de69d816b11 user: Keir Fraser <keir.fraser@xxxxxxxxxx> date: Wed May 12 08:49:13 2010 +0100 files: tools/xenstore/xs.c description: xs: avoid pthread_join deadlock in xs_daemon_close Doing a pthread_cancel and join on the reader thread while holding all the request/reply/watch mutexes can deadlock if the thread needs to take any of those mutexes to exit. Kill off the reader thread before taking any mutexes (which should be redundant if we're single-threaded at that point). Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> changeset: 21353:2dd3141b3e3e user: Keir Fraser <keir.fraser@xxxxxxxxxx> date: Wed May 12 08:48:14 2010 +0100 files: tools/xenstore/xs.c description: xs: make sure mutexes are cleaned up and memory freed if the read thread is cancelled If the read thread is terminated with pthread cancel, it must make sure all memory is freed and mutexes are unlocked. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |