ry / ebb fork watch download tarball
public this repo is viewable by everyone
Description: web server
Homepage: http://ebb.rubyforge.org
Clone URL: git://github.com/ry/ebb.git
Change Server allocation

so that g_string_free: assertion `string != NULL' failed
doesn't show 950 times each time the server crashes
Ryan Dahl (author)
2 months ago
commit  55f770d3cc40a4c2a6d5b2005c48c52c1407c8d7
tree    f895d999136da975638b734039377d6d7c56dc5e
parent  ea11c7cd84a4a38a23dcb3f02371e5fca42a71fa
...
43
44
45
46
47
 
 
48
49
50
...
43
44
45
 
 
46
47
48
49
50
0
@@ -43,8 +43,8 @@ module Daemonizable
0
   end
0
   
0
   def daemonizable_init(options)
0
- pid_file = options[:pid_file]
0
- log_file = options[:log_file]
0
+ @pid_file = options[:pid_file]
0
+ @log_file = options[:log_file]
0
     if options[:daemonize]
0
       change_privilege options[:user], options[:group] if options[:user] && options[:group]
0
       daemonize
...
75
76
77
78
 
79
80
81
...
75
76
77
 
78
79
80
81
0
@@ -75,7 +75,7 @@ module Ebb
0
       @app = app
0
       
0
       daemonizable_init(options)
0
- FFI::server_initialize(self)
0
+ # FFI::server_initialize(self)
0
     end
0
     
0
     def start
...
426
427
428
429
430
431
432
433
434
435
436
...
426
427
428
 
429
430
 
 
431
432
433
0
@@ -426,11 +426,8 @@ void ebb_server_free(ebb_server *server)
0
 void ebb_server_unlisten(ebb_server *server)
0
 {
0
   if(server->open) {
0
- //g_message("Stopping Ebb server");
0
     int i;
0
     ebb_client *client;
0
- //for(i=0; i < EBB_MAX_CLIENTS; i++)
0
- // ebb_client_close(client);
0
     ev_io_stop(server->loop, &server->request_watcher);
0
     close(server->fd);
0
     if(server->socketpath)
...
83
84
85
 
86
87
88
 
89
90
91
92
93
94
95
96
97
98
99
100
101
 
 
 
 
 
 
 
 
102
103
104
...
241
242
243
244
 
245
246
247
...
83
84
85
86
87
88
89
90
91
92
93
94
 
 
 
 
 
 
 
 
 
95
96
97
98
99
100
101
102
103
104
105
...
242
243
244
 
245
246
247
248
0
@@ -83,22 +83,23 @@ void request_cb(ebb_client *_client, void *data)
0
 
0
 VALUE server_alloc(VALUE self)
0
 {
0
+ struct ev_loop *loop = ev_default_loop (0);
0
   ebb_server *_server = ebb_server_alloc();
0
   VALUE server = Qnil;
0
   server = Data_Wrap_Struct(cServer, 0, ebb_server_free, _server);
0
+ ebb_server_init(_server, loop, request_cb, (void*)server);
0
   return server;
0
 }
0
 
0
 
0
-VALUE server_initialize(VALUE x, VALUE server)
0
-{
0
- struct ev_loop *loop = ev_default_loop (0);
0
- ebb_server *_server;
0
-
0
- Data_Get_Struct(server, ebb_server, _server);
0
- ebb_server_init(_server, loop, request_cb, (void*)server);
0
- return Qnil;
0
-}
0
+// VALUE server_initialize(VALUE x, VALUE server)
0
+// {
0
+// struct ev_loop *loop = ev_default_loop (0);
0
+// ebb_server *_server;
0
+//
0
+// Data_Get_Struct(server, ebb_server, _server);
0
+// return Qnil;
0
+// }
0
 
0
 
0
 VALUE server_listen_on_port(VALUE x, VALUE server, VALUE port)
0
@@ -241,7 +242,7 @@ void Init_ebb_ext()
0
   
0
   cServer = rb_define_class_under(mEbb, "Server", rb_cObject);
0
   rb_define_alloc_func(cServer, server_alloc);
0
- rb_define_singleton_method(mFFI, "server_initialize", server_initialize, 1);
0
+ // rb_define_singleton_method(mFFI, "server_initialize", server_initialize, 1);
0
   rb_define_singleton_method(mFFI, "server_process_connections", server_process_connections, 1);
0
   rb_define_singleton_method(mFFI, "server_listen_on_port", server_listen_on_port, 2);
0
   rb_define_singleton_method(mFFI, "server_listen_on_socket", server_listen_on_socket, 2);

Comments

    No one has commented yet.