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); | ... | ... |