summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--io.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a8f2427857..c25a32cdef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Sep 10 01:38:51 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+
+ * io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
+ suppress integer <-> pointer cast warnings.
+ [Feature #4570] [ruby-core:35711]
+
Mon Sep 10 01:36:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_io_close): notify fd close before releasing gvl.
diff --git a/io.c b/io.c
index 7be2df383d..57f5775c41 100644
--- a/io.c
+++ b/io.c
@@ -3858,7 +3858,7 @@ nogvl_close(void *ptr)
{
int *fd = ptr;
- return (void*)close(*fd);
+ return (void*)(intptr_t)close(*fd);
}
static int
@@ -3871,7 +3871,7 @@ maygvl_close(int fd, int keepgvl)
* close() may block for certain file types (NFS, SO_LINGER sockets,
* inotify), so let other threads run.
*/
- return (int)rb_thread_call_without_gvl(nogvl_close, &fd, RUBY_UBF_IO, 0);
+ return (int)(intptr_t)rb_thread_call_without_gvl(nogvl_close, &fd, RUBY_UBF_IO, 0);
}
static void*
@@ -3879,7 +3879,7 @@ nogvl_fclose(void *ptr)
{
FILE *file = ptr;
- return (void*)fclose(file);
+ return (void*)(intptr_t)fclose(file);
}
static int
@@ -3888,7 +3888,7 @@ maygvl_fclose(FILE *file, int keepgvl)
if (keepgvl)
return fclose(file);
- return (int)rb_thread_call_without_gvl(nogvl_fclose, file, RUBY_UBF_IO, 0);
+ return (int)(intptr_t)rb_thread_call_without_gvl(nogvl_fclose, file, RUBY_UBF_IO, 0);
}
static void