|
From: Jeremy F. <je...@go...> - 2005-02-21 09:07:01
|
CVS commit by fitzhardinge:
Add a little function to convert from old-style to RT sigset_t's.
M +9 -4 vg_syscalls.c 1.250
--- valgrind/coregrind/vg_syscalls.c #1.249:1.250
@@ -361,4 +361,11 @@ Bool VG_(is_kerror) ( Word res )
}
+/* Convert from non-RT to RT sigset_t's */
+static void convert_sigset_to_rt(const vki_old_sigset_t *oldset, vki_sigset_t *set)
+{
+ VG_(sigemptyset)(set);
+ set->sig[0] = *oldset;
+}
+
/* One of these is allocated for each open file descriptor. */
@@ -5534,6 +5541,5 @@ PRE(sys_sigaction, Special)
new.sa_flags = oldnew->sa_flags;
new.sa_restorer = oldnew->sa_restorer;
- VG_(sigemptyset)(&new.sa_mask);
- new.sa_mask.sig[0] = oldnew->sa_mask;
+ convert_sigset_to_rt(&oldnew->sa_mask, &new.sa_mask);
newp = &new;
}
@@ -5598,6 +5604,5 @@ PRE(sys_sigprocmask, Special)
vki_sigset_t bigger_oldset;
- VG_(memset)(&bigger_set, 0, sizeof(vki_sigset_t));
- bigger_set.sig[0] = *(vki_old_sigset_t*)set;
+ convert_sigset_to_rt(set, &bigger_set);
VG_(do_sys_sigprocmask) ( tid,
|