int timeout = 0;
struct sigaction sig_action;
struct sigaction old_sig_action;
- sigset_t sigmask;
+ sigset_t sigmask, oldsigmask;
struct timeval start;
struct timeval curr;
const char *path = NULL;
while (blocking) {
virDomainBlockJobInfo info;
- int result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ int result;
+
+ pthread_sigmask(SIG_BLOCK, &sigmask, &oldsigmask);
+ result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL);
if (result < 0) {
vshError(ctl, _("failed to query job for disk %s"), path);
int timeout = 0;
struct sigaction sig_action;
struct sigaction old_sig_action;
- sigset_t sigmask;
+ sigset_t sigmask, oldsigmask;
struct timeval start;
struct timeval curr;
const char *path = NULL;
while (blocking) {
virDomainBlockJobInfo info;
- int result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ int result;
+
+ pthread_sigmask(SIG_BLOCK, &sigmask, &oldsigmask);
+ result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL);
if (result <= 0) {
vshError(ctl, _("failed to query job for disk %s"), path);
int timeout = 0;
struct sigaction sig_action;
struct sigaction old_sig_action;
- sigset_t sigmask;
+ sigset_t sigmask, oldsigmask;
struct timeval start;
struct timeval curr;
const char *path = NULL;
while (blocking) {
virDomainBlockJobInfo info;
- int result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ int result;
+
+ pthread_sigmask(SIG_BLOCK, &sigmask, &oldsigmask);
+ result = virDomainGetBlockJobInfo(dom, path, &info, 0);
+ pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL);
if (result < 0) {
vshError(ctl, _("failed to query job for disk %s"), path);