ghazel-purple_ruby 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/README.txt +1 -1
  2. data/ext/purple_ruby.c +8 -1
  3. metadata +1 -1
data/README.txt CHANGED
@@ -46,7 +46,7 @@ sudo gem install yong-purple_ruby
46
46
 
47
47
  == Copyright
48
48
 
49
- purple_ruby is Copyright (c) 2009 Xue Yong Zhi and Intridea, Inc., released under the GPL License.
49
+ purple_ruby is Copyright (c) 2009 Xue Yong Zhi and Intridea, Inc. ( http://intridea.com ), released under the GPL License.
50
50
 
51
51
 
52
52
 
@@ -527,7 +527,8 @@ static void _accept_socket_handler(gpointer notused, int server_socket, PurpleIn
527
527
  static VALUE watch_incoming_ipc(VALUE self, VALUE serverip, VALUE port)
528
528
  {
529
529
  struct sockaddr_in my_addr;
530
- int soc;
530
+ int soc;
531
+ int on = 1;
531
532
 
532
533
  /* Open a listening socket for incoming conversations */
533
534
  if ((soc = socket(PF_INET, SOCK_STREAM, 0)) < 0)
@@ -536,6 +537,12 @@ static VALUE watch_incoming_ipc(VALUE self, VALUE serverip, VALUE port)
536
537
  return Qnil;
537
538
  }
538
539
 
540
+ if (setsockopt(soc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0)
541
+ {
542
+ rb_raise(rb_eRuntimeError, "SO_REUSEADDR failed: %s\n", g_strerror(errno));
543
+ return Qnil;
544
+ }
545
+
539
546
  memset(&my_addr, 0, sizeof(struct sockaddr_in));
540
547
  my_addr.sin_family = AF_INET;
541
548
  my_addr.sin_addr.s_addr = inet_addr(RSTRING(serverip)->ptr);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghazel-purple_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yong