summaryrefslogtreecommitdiff
path: root/ext/socket/init.c
diff options
Diffstat (limited to 'ext/socket/init.c')
-rw-r--r--ext/socket/init.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c
index 83af8c5b0e..8e405609ba 100644
--- a/ext/socket/init.c
+++ b/ext/socket/init.c
@@ -786,7 +786,17 @@ rsock_getfamily(rb_io_t *fptr)
* call-seq:
* error_code -> integer
*
- * Returns the raw error code occurred at name resolution.
+ * Returns the raw error code indicating the cause of the hostname resolution failure.
+ *
+ * begin
+ * Addrinfo.getaddrinfo("ruby-lang.org", nil)
+ * rescue Socket::ResolutionError => e
+ * if e.error_code == Socket::EAI_AGAIN
+ * puts "Temporary failure in name resolution."
+ * end
+ * end
+ *
+ * Note that error codes depend on the operating system.
*/
static VALUE
sock_resolv_error_code(VALUE self)
@@ -802,7 +812,7 @@ rsock_init_socket_init(void)
*/
rb_eSocket = rb_define_class("SocketError", rb_eStandardError);
/*
- * ResolutionError is the error class for socket name resolution.
+ * Socket::ResolutionError is the error class for hostname resolution.
*/
rb_eResolution = rb_define_class_under(rb_cSocket, "ResolutionError", rb_eSocket);
rb_define_method(rb_eResolution, "error_code", sock_resolv_error_code, 0);