flat assembler
Message board for the users of flat assembler.
Index
> Linux > Asynchronus named pipes |
Author |
|
Endre 23 Jun 2009, 08:12
I don't see where (and how) you have installed your signal handler.
Oh sorry, I found it . |
|||
23 Jun 2009, 08:12 |
|
Endre 24 Jun 2009, 17:48
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).
|
|||
24 Jun 2009, 17:48 |
|
DustWolf 28 Jun 2009, 21:05
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 |
|||
28 Jun 2009, 21:05 |
|
Endre 29 Jun 2009, 09:20
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 |
|||
29 Jun 2009, 09:20 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.