flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Endre
I don't see where (and how) you have installed your signal handler.
Oh sorry, I found it ![]() |
|||
![]() |
|
Endre
Ok, I've tracked down the reason of the problem. If you open the pipe with O_ASYNC (FASYNC) flag set then you won't get SIGIO (SIGPOLL). I don't know why (kernel bug?). So you must not set this flag when opening the pipe (independently of whether you are on the read or the write end of the pipe and whether you set O_ASYNC with fcntl or not).
|
|||
![]() |
|
DustWolf
That fixed it, thanks.
![]() I noticed a message regarding that particular kernel bug before (apparently, it makes some kind of sense, although then all the documentation is wrong), that's why the re-emphasis code is for anyway; I just didn't know that setting FASYNC in the first place will break it too. Thanks again. EDIT: Yup, a bug: http://bugzilla.kernel.org/show_bug.cgi?id=5993 |
|||
![]() |
|
Endre
I'm using gentoo kernel 2.6.29-r5. It doesn't contain any bugfix regarding this strange behavior either. At least it's good to know that you first have to clear the F_ASYNC flag and then reenable it again to have things work.
Quote: I just didn't know that setting FASYNC in the first place will break it too ![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.