diff options
| author | Florian Westphal <fw@strlen.de> | 2007-01-18 00:25:26 +0000 |
|---|---|---|
| committer | Florian Westphal <fw@strlen.de> | 2007-01-18 00:25:26 +0000 |
| commit | f9b9850662ee01aae9941bef611df5040b0ff2e0 (patch) | |
| tree | a82fbea9758acdb34b62e47ac01d227805420279 /src | |
| parent | 1b852fce72a87f3cce2049fde59ab66b6bbda6ca (diff) | |
| download | ngircd-f9b9850662ee01aae9941bef611df5040b0ff2e0.tar.gz ngircd-f9b9850662ee01aae9941bef611df5040b0ff2e0.zip | |
io_event_add: return if eventtype is already registered.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/io.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ngircd/io.c b/src/ngircd/io.c index 71ec3b40..660a1395 100644 --- a/src/ngircd/io.c +++ b/src/ngircd/io.c @@ -12,7 +12,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: io.c,v 1.23 2006/12/26 16:00:46 alex Exp $"; +static char UNUSED id[] = "$Id: io.c,v 1.24 2007/01/18 00:25:26 fw Exp $"; #include <assert.h> #include <stdlib.h> @@ -463,7 +463,9 @@ io_event_add(int fd, short what) io_event *i = io_event_get(fd); if (!i) return false; - if (i->what == what) return true; + + if ((i->what & what) == what) /* event type is already registered */ + return true; #ifdef DEBUG_IO Log(LOG_DEBUG, "io_event_add(): fd %d (arg: %d), what %d.", i->fd, fd, what); #endif |