eventmachine 0.7.0 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/COPYING +44 -265
  2. data/GNU +281 -0
  3. data/LEGAL +25 -0
  4. data/README +5 -3
  5. data/RELEASE_NOTES +7 -2
  6. data/ext/binder.cpp +8 -15
  7. data/ext/binder.h +8 -15
  8. data/ext/cmain.cpp +29 -15
  9. data/ext/ed.cpp +36 -43
  10. data/ext/ed.h +8 -15
  11. data/ext/em.cpp +116 -21
  12. data/ext/em.h +11 -16
  13. data/ext/emwin.cpp +9 -16
  14. data/ext/emwin.h +9 -16
  15. data/ext/eventmachine.h +9 -14
  16. data/ext/extconf.rb +9 -17
  17. data/ext/files.cpp +7 -14
  18. data/ext/files.h +7 -14
  19. data/ext/page.cpp +8 -15
  20. data/ext/page.h +8 -15
  21. data/ext/project.h +15 -15
  22. data/ext/rubymain.cpp +37 -16
  23. data/ext/sigs.cpp +8 -15
  24. data/ext/sigs.h +8 -15
  25. data/ext/ssl.cpp +8 -15
  26. data/ext/ssl.h +8 -15
  27. data/lib/em/deferrable.rb +40 -27
  28. data/lib/em/eventable.rb +12 -23
  29. data/lib/em/future.rb +62 -0
  30. data/lib/eventmachine.rb +156 -66
  31. data/lib/eventmachine_version.rb +12 -23
  32. data/lib/evma.rb +15 -18
  33. data/lib/evma/callback.rb +16 -19
  34. data/lib/evma/container.rb +17 -19
  35. data/lib/evma/factory.rb +16 -19
  36. data/lib/evma/protocol.rb +17 -19
  37. data/lib/evma/reactor.rb +17 -19
  38. data/lib/pr_eventmachine.rb +12 -23
  39. data/lib/protocols/buftok.rb +121 -0
  40. data/lib/protocols/header_and_content.rb +12 -23
  41. data/lib/protocols/httpclient.rb +44 -31
  42. data/lib/protocols/line_and_text.rb +97 -118
  43. data/lib/protocols/tcptest.rb +12 -22
  44. data/tests/test_basic.rb +14 -24
  45. data/tests/test_eventables.rb +14 -24
  46. data/tests/test_exc.rb +57 -0
  47. data/tests/test_futures.rb +136 -0
  48. data/tests/test_hc.rb +14 -24
  49. data/tests/test_httpclient.rb +106 -25
  50. data/tests/test_ltp.rb +14 -23
  51. data/tests/test_timers.rb +109 -0
  52. data/tests/test_ud.rb +14 -24
  53. metadata +11 -2
data/ext/em.h CHANGED
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: em.h 264 2006-10-05 16:33:22Z blackhedd $
3
+ $Id: em.h 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
- File: ed.h
5
+ File: em.h
6
6
  Date: 06Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
15
 
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -72,6 +65,7 @@ class EventMachine_t
72
65
  void SignalLoopBreaker();
73
66
  const char *InstallOneshotTimer (int);
74
67
  const char *ConnectToServer (const char *, int);
68
+ const char *ConnectToUnixServer (const char *);
75
69
  const char *CreateTcpServer (const char *, int);
76
70
  const char *OpenDatagramSocket (const char *, int);
77
71
  const char *CreateUnixDomainServer (const char*);
@@ -80,6 +74,7 @@ class EventMachine_t
80
74
  void Add (EventableDescriptor*);
81
75
 
82
76
  void SetTimerQuantum (int);
77
+ static void SetuidString (const char*);
83
78
 
84
79
  public:
85
80
  enum { // Event names
@@ -101,7 +96,7 @@ class EventMachine_t
101
96
 
102
97
  private:
103
98
  enum {
104
- MaxOutstandingTimers = 40,
99
+ MaxOutstandingTimers = 1000,
105
100
  HeartbeatInterval = 2
106
101
  };
107
102
  void (*EventCallback)(const char*, int, const char*, int);
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: emwin.cpp 47 2006-05-15 21:42:38Z blackhedd $
3
+ $Id: emwin.cpp 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
- File: edwin.cpp
5
+ File: emwin.cpp
6
6
  Date: 05May06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat10
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: emwin.h 209 2006-07-16 23:32:16Z blackhedd $
3
+ $Id: emwin.h 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
- File: edwin.h
5
+ File: emwin.h
6
6
  Date: 05May06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat10
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: eventmachine.h 265 2006-10-05 19:07:45Z blackhedd $
3
+ $Id: eventmachine.h 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
5
  File: eventmachine.h
6
6
  Date: 15Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat10
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
15
 
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -36,6 +29,7 @@ extern "C" {
36
29
  void evma_release_library();
37
30
  const char *evma_install_oneshot_timer (int seconds);
38
31
  const char *evma_connect_to_server (const char *server, int port);
32
+ const char *evma_connect_to_unix_server (const char *server);
39
33
  const char *evma_create_tcp_server (const char *address, int port);
40
34
  const char *evma_create_unix_domain_server (const char *filename);
41
35
  const char *evma_open_datagram_socket (const char *server, int port);
@@ -48,6 +42,7 @@ extern "C" {
48
42
  void evma_close_connection (const char *binding, int after_writing);
49
43
  void evma_signal_loopbreak();
50
44
  void evma_set_timer_quantum (int);
45
+ void evma_setuid_string (const char *username);
51
46
  void evma_stop_machine();
52
47
 
53
48
  const char *evma__write_file (const char *filename);
@@ -1,24 +1,16 @@
1
- # $Id: extconf.rb 63 2006-05-17 06:03:18Z blackhedd $
1
+ # $Id: extconf.rb 318 2007-05-22 22:06:24Z blackhedd $
2
2
  #
3
3
  #----------------------------------------------------------------------------
4
4
  #
5
- # Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
6
- #
7
- # Gmail: garbagecat20
8
- #
5
+ # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
6
+ # Gmail: blackhedd
7
+ #
9
8
  # This program is free software; you can redistribute it and/or modify
10
- # it under the terms of the GNU General Public License as published by
11
- # the Free Software Foundation; either version 2 of the License, or
12
- # (at your option) any later version.
13
- #
14
- # This program is distributed in the hope that it will be useful,
15
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- # GNU General Public License for more details.
18
- #
19
- # You should have received a copy of the GNU General Public License
20
- # along with this program; if not, write to the Free Software
21
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
+ # it under the terms of either: 1) the GNU General Public License
10
+ # as published by the Free Software Foundation; either version 2 of the
11
+ # License, or (at your option) any later version; or 2) Ruby's License.
12
+ #
13
+ # See the file COPYING for complete licensing information.
22
14
  #
23
15
  #---------------------------------------------------------------------------
24
16
  #
@@ -5,22 +5,15 @@ $Id: ed.cpp 250 2006-08-25 02:17:58Z blackhedd $
5
5
  File: files.cpp
6
6
  Date: 26Aug06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -5,22 +5,15 @@ $Id: ed.h 243 2006-08-23 02:00:10Z blackhedd $
5
5
  File: files.h
6
6
  Date: 26Aug06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: page.cpp 47 2006-05-15 21:42:38Z blackhedd $
3
+ $Id: page.cpp 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
5
  File: page.cpp
6
6
  Date: 30Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
data/ext/page.h CHANGED
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: page.h 47 2006-05-15 21:42:38Z blackhedd $
3
+ $Id: page.h 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
5
  File: page.h
6
6
  Date: 30Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
15
-
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
+
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: project.h 265 2006-10-05 19:07:45Z blackhedd $
3
+ $Id: project.h 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
5
  File: project.h
6
6
  Date: 06Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
15
 
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -55,12 +48,19 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
55
48
  #include <netinet/in.h>
56
49
  #include <netinet/tcp.h>
57
50
  #include <arpa/inet.h>
51
+ #include <pwd.h>
58
52
  typedef int SOCKET;
59
53
  #define closesocket close
60
54
  #define INVALID_SOCKET -1
61
55
  #define SOCKET_ERROR -1
62
56
  #ifdef OS_SOLARIS8
63
- #define INADDR_NONE ((unsigned long)-1)
57
+ #include <strings.h>
58
+ #include <sys/un.h>
59
+ #ifndef AF_LOCAL
60
+ #define AF_LOCAL AF_UNIX
61
+ #endif
62
+ // The ff is superfluous on Solaris > 7. Thanks to Brett Eisenberg.
63
+ //#define INADDR_NONE ((unsigned long)-1)
64
64
  #endif
65
65
  #endif
66
66
 
@@ -1,26 +1,19 @@
1
1
  /*****************************************************************************
2
2
 
3
- $Id: rubymain.cpp 265 2006-10-05 19:07:45Z blackhedd $
3
+ $Id: rubymain.cpp 318 2007-05-22 22:06:24Z blackhedd $
4
4
 
5
- File: libmain.cpp
5
+ File: rubymain.cpp
6
6
  Date: 06Apr06
7
7
 
8
- Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat20
8
+ Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
+ Gmail: blackhedd
10
10
 
11
11
  This program is free software; you can redistribute it and/or modify
12
- it under the terms of the GNU General Public License as published by
13
- the Free Software Foundation; either version 2 of the License, or
14
- (at your option) any later version.
12
+ it under the terms of either: 1) the GNU General Public License
13
+ as published by the Free Software Foundation; either version 2 of the
14
+ License, or (at your option) any later version; or 2) Ruby's License.
15
15
 
16
- This program is distributed in the hope that it will be useful,
17
- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- GNU General Public License for more details.
20
-
21
- You should have received a copy of the GNU General Public License
22
- along with this program; if not, write to the Free Software
23
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
+ See the file COPYING for complete licensing information.
24
17
 
25
18
  *****************************************************************************/
26
19
 
@@ -200,7 +193,23 @@ t_connect_server
200
193
 
201
194
  static VALUE t_connect_server (VALUE self, VALUE server, VALUE port)
202
195
  {
203
- const char *f = evma_connect_to_server (StringValuePtr(server), FIX2INT(port));
196
+ // Avoid FIX2INT in this case, because it doesn't deal with type errors properly.
197
+ // Specifically, if the value of port comes in as a string rather than an integer,
198
+ // NUM2INT will throw a type error, but FIX2INT will generate garbage.
199
+
200
+ const char *f = evma_connect_to_server (StringValuePtr(server), NUM2INT(port));
201
+ if (!f || !*f)
202
+ rb_raise (rb_eRuntimeError, "no connection");
203
+ return rb_str_new2 (f);
204
+ }
205
+
206
+ /*********************
207
+ t_connect_unix_server
208
+ *********************/
209
+
210
+ static VALUE t_connect_unix_server (VALUE self, VALUE serversocket)
211
+ {
212
+ const char *f = evma_connect_to_unix_server (StringValuePtr(serversocket));
204
213
  if (!f || !*f)
205
214
  rb_raise (rb_eRuntimeError, "no connection");
206
215
  return rb_str_new2 (f);
@@ -272,6 +281,16 @@ static VALUE t_set_timer_quantum (VALUE self, VALUE interval)
272
281
  return Qnil;
273
282
  }
274
283
 
284
+ /***************
285
+ t_setuid_string
286
+ ***************/
287
+
288
+ static VALUE t_setuid_string (VALUE self, VALUE username)
289
+ {
290
+ evma_setuid_string (StringValuePtr (username));
291
+ return Qnil;
292
+ }
293
+
275
294
 
276
295
 
277
296
  /*************
@@ -308,12 +327,14 @@ extern "C" void Init_rubyeventmachine()
308
327
  rb_define_module_function (EmModule, "send_datagram", (VALUE(*)(...))t_send_datagram, 5);
309
328
  rb_define_module_function (EmModule, "close_connection", (VALUE(*)(...))t_close_connection, 2);
310
329
  rb_define_module_function (EmModule, "connect_server", (VALUE(*)(...))t_connect_server, 2);
330
+ rb_define_module_function (EmModule, "connect_unix_server", (VALUE(*)(...))t_connect_unix_server, 1);
311
331
  rb_define_module_function (EmModule, "open_udp_socket", (VALUE(*)(...))t_open_udp_socket, 2);
312
332
  rb_define_module_function (EmModule, "release_machine", (VALUE(*)(...))t_release_machine, 0);
313
333
  rb_define_module_function (EmModule, "stop", (VALUE(*)(...))t_stop, 0);
314
334
  rb_define_module_function (EmModule, "signal_loopbreak", (VALUE(*)(...))t_signal_loopbreak, 0);
315
335
  rb_define_module_function (EmModule, "library_type", (VALUE(*)(...))t_library_type, 0);
316
336
  rb_define_module_function (EmModule, "set_timer_quantum", (VALUE(*)(...))t_set_timer_quantum, 1);
337
+ rb_define_module_function (EmModule, "setuid_string", (VALUE(*)(...))t_setuid_string, 1);
317
338
 
318
339
  // Provisional:
319
340
  rb_define_module_function (EmModule, "_write_file", (VALUE(*)(...))t__write_file, 1);