[前][次][番号順一覧][スレッド一覧]

ruby-changes:19540

From: kosaki <ko1@a...>
Date: Mon, 16 May 2011 00:07:10 +0900 (JST)
Subject: [ruby-changes:19540] kosaki:r31581 (trunk): * include/ruby/intern.h: resurrect old rb_fd_copy().

kosaki	2011-05-15 23:57:35 +0900 (Sun, 15 May 2011)

  New Revision: 31581

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31581

  Log:
    * include/ruby/intern.h: resurrect old rb_fd_copy().
    * thread.c (rb_fd_copy): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/intern.h
    trunk/thread.c

Index: include/ruby/intern.h
===================================================================
--- include/ruby/intern.h	(revision 31580)
+++ include/ruby/intern.h	(revision 31581)
@@ -250,6 +250,7 @@
 void rb_fd_set(int, rb_fdset_t *);
 void rb_fd_clr(int, rb_fdset_t *);
 int rb_fd_isset(int, const rb_fdset_t *);
+void rb_fd_copy(rb_fdset_t *, const fd_set *, int);
 void rb_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src);
 int rb_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);
 
@@ -284,6 +285,7 @@
 #define rb_fd_set(n, f)	FD_SET((n), (f))
 #define rb_fd_clr(n, f)	FD_CLR((n), (f))
 #define rb_fd_isset(n, f) FD_ISSET((n), (f))
+#define rb_fd_copy(d, s, n) (*(d) = *(s))
 #define rb_fd_dup(d, s) (*(d) = *(s))
 #define rb_fd_resize(n, f)	((void)(f))
 #define rb_fd_ptr(f)	(f)
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 31580)
+++ ChangeLog	(revision 31581)
@@ -1,3 +1,8 @@
+Sun May 15 23:53:31 2011  KOSAKI Motohiro  <kosaki.motohiro@g...>
+
+	* include/ruby/intern.h: resurrect old rb_fd_copy().
+	* thread.c (rb_fd_copy): ditto.
+
 Sun May 15 23:45:11 2011  KOSAKI Motohiro  <kosaki.motohiro@g...>
 
 	* include/ruby/intern.h: remove rb_fd_copy() to rb_fd_dup() and
Index: thread.c
===================================================================
--- thread.c	(revision 31580)
+++ thread.c	(revision 31581)
@@ -2392,6 +2392,17 @@
 }
 
 void
+rb_fd_copy(rb_fdset_t *dst, const fd_set *src, int max)
+{
+    size_t size = howmany(max, NFDBITS) * sizeof(fd_mask);
+
+    if (size < sizeof(fd_set)) size = sizeof(fd_set);
+    dst->maxfd = max;
+    dst->fdset = xrealloc(dst->fdset, size);
+    memcpy(dst->fdset, src, size);
+}
+
+void
 rb_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src)
 {
     size_t size = howmany(rb_fd_max(src), NFDBITS) * sizeof(fd_mask);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]