diff options
| author | Tomoyuki Sahara <[email protected]> | 2014-06-10 10:22:50 +0900 |
|---|---|---|
| committer | Tomoyuki Sahara <[email protected]> | 2014-06-10 10:22:50 +0900 |
| commit | d894de86f4429aba22055c8319fcf930ac39bdb4 (patch) | |
| tree | 7a6d7feb1cdea91aabcd43ea067ea9b8cdea6513 | |
| parent | 9ee9c271d11fe125421f025b850a105ac3c40bcd (diff) | |
| download | mruby-d894de86f4429aba22055c8319fcf930ac39bdb4.tar.gz mruby-d894de86f4429aba22055c8319fcf930ac39bdb4.zip | |
fd2 is valid if fd2 >= 0. fixes #18.
| -rw-r--r-- | src/io.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -646,7 +646,7 @@ mrb_io_s_select(mrb_state *mrb, mrb_value klass) FD_SET(fptr->fd, ep); if (max < fptr->fd) max = fptr->fd; - if (fptr->fd2) { + if (fptr->fd2 >= 0) { FD_SET(fptr->fd2, ep); if (max < fptr->fd2) max = fptr->fd2; @@ -694,7 +694,7 @@ retry: fptr = (struct mrb_io *)mrb_get_datatype(mrb, RARRAY_PTR(write)[i], &mrb_io_type); if (FD_ISSET(fptr->fd, wp)) { mrb_ary_push(mrb, list, RARRAY_PTR(write)[i]); - } else if (fptr->fd2 && FD_ISSET(fptr->fd2, wp)) { + } else if (fptr->fd2 >= 0 && FD_ISSET(fptr->fd2, wp)) { mrb_ary_push(mrb, list, RARRAY_PTR(write)[i]); } } @@ -706,7 +706,7 @@ retry: fptr = (struct mrb_io *)mrb_get_datatype(mrb, RARRAY_PTR(except)[i], &mrb_io_type); if (FD_ISSET(fptr->fd, ep)) { mrb_ary_push(mrb, list, RARRAY_PTR(except)[i]); - } else if (fptr->fd2 && FD_ISSET(fptr->fd2, wp)) { + } else if (fptr->fd2 >= 0 && FD_ISSET(fptr->fd2, wp)) { mrb_ary_push(mrb, list, RARRAY_PTR(except)[i]); } } |
