Commit 7f7f7c846345550634e1d4b91c9c5f475edfd9ed
1 parent
fe8f096b
Sigio fd passing, by Alexander Graf.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3077 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
0 deletions
linux-user/signal.c
... | ... | @@ -207,6 +207,8 @@ static inline void host_to_target_siginfo_noswap(target_siginfo_t *tinfo, |
207 | 207 | /* should never come here, but who knows. The information for |
208 | 208 | the target is irrelevant */ |
209 | 209 | tinfo->_sifields._sigfault._addr = 0; |
210 | + } else if (sig == SIGIO) { | |
211 | + tinfo->_sifields._sigpoll._fd = info->si_fd; | |
210 | 212 | } else if (sig >= TARGET_SIGRTMIN) { |
211 | 213 | tinfo->_sifields._rt._pid = info->si_pid; |
212 | 214 | tinfo->_sifields._rt._uid = info->si_uid; |
... | ... | @@ -228,6 +230,8 @@ static void tswap_siginfo(target_siginfo_t *tinfo, |
228 | 230 | sig == SIGBUS || sig == SIGTRAP) { |
229 | 231 | tinfo->_sifields._sigfault._addr = |
230 | 232 | tswapl(info->_sifields._sigfault._addr); |
233 | + } else if (sig == SIGIO) { | |
234 | + tinfo->_sifields._sigpoll._fd = tswap32(info->_sifields._sigpoll._fd); | |
231 | 235 | } else if (sig >= TARGET_SIGRTMIN) { |
232 | 236 | tinfo->_sifields._rt._pid = tswap32(info->_sifields._rt._pid); |
233 | 237 | tinfo->_sifields._rt._uid = tswap32(info->_sifields._rt._uid); | ... | ... |