unicorn 5.5.0.pre1 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd24ac80ee80caf33952ba3633987a9ea419ca59258ddf7324772f54a065e637
4
- data.tar.gz: 9e61596b998976ca1394c4d54692723dfee281e9f0f37c52fa93361a90e454ee
3
+ metadata.gz: c37db62d1e413297803b2fac9be18b752b80b0068eeeafd1027eb2eae2a693c2
4
+ data.tar.gz: 0af88fc316857d8e0c4bc899de3d7994f54a01e5a9a8a25ad5a721cc669d6bf9
5
5
  SHA512:
6
- metadata.gz: 17e84b1b9471644d292afb786b869578a3e7c78a1a02bd0fcdbf4b704412b10587c06b2eeae1c826d9ef02e33189309ec22033737d27b27a15383455aa29285f
7
- data.tar.gz: 0e00360d347d0cdb2918c20a4ee7afc5164845881296917e1234d4befd94b2cb68a6ec5440587b6c3aad9a10814675a5d5b228ffb4774d9ad153c012e9a53ba3
6
+ metadata.gz: 5788c3a37e65de0dbc12735f72af22a27638ada89f05c3e2904171662fd72ba3ef42d01efd3aa3bd8c3324a90c2b3b11fbd27835b7c8f32969b923a66dae9e65
7
+ data.tar.gz: 19928922c0e6068b4818d2111f9f0e47ffe071c22c68deb23c67a29c787c9e0f5e1e17d503c56b2e01f885aa9329ca04e5e7829ccf28e3d7cec14907f9b20736
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- DEF_VER = "v5.5.0.pre1"
2
+ DEF_VER = "v5.5.0"
3
3
  CONSTANT = "Unicorn::Const::UNICORN_VERSION"
4
4
  RVF = "lib/unicorn/version.rb"
5
5
  GVF = "GIT-VERSION-FILE"
data/Links CHANGED
@@ -50,7 +50,9 @@ or services behind them.
50
50
  === Prior Work
51
51
 
52
52
  * {Mongrel}[https://rubygems.org/gems/mongrel] - the awesome webserver
53
- unicorn is based on
53
+ unicorn is based on. A historical archive of the mongrel dev list
54
+ featuring early discussions of unicorn is available at:
55
+ https://bogomips.org/mongrel-devel/
54
56
 
55
57
  * {david}[https://bogomips.org/david.git] - a tool to explain why you need
56
58
  nginx in front of unicorn
@@ -77,7 +77,7 @@ static VALUE str_new_dd_freeze(const char *ptr, long len)
77
77
  }
78
78
 
79
79
  /* this function is not performance-critical, called only at load time */
80
- static void init_common_fields(VALUE mark_ary)
80
+ static void init_common_fields(void)
81
81
  {
82
82
  int i;
83
83
  struct common_field *cf = common_http_fields;
@@ -95,7 +95,7 @@ static void init_common_fields(VALUE mark_ary)
95
95
  memcpy(tmp + HTTP_PREFIX_LEN, cf->name, cf->len + 1);
96
96
  cf->value = str_new_dd_freeze(tmp, HTTP_PREFIX_LEN + cf->len);
97
97
  }
98
- rb_ary_push(mark_ary, cf->value);
98
+ rb_gc_register_mark_object(cf->value);
99
99
  }
100
100
  }
101
101
 
@@ -56,7 +56,7 @@ NORETURN(static void parser_raise(VALUE klass, const char *));
56
56
  /** Defines global strings in the init method. */
57
57
  #define DEF_GLOBAL(N, val) do { \
58
58
  g_##N = rb_obj_freeze(rb_str_new(val, sizeof(val) - 1)); \
59
- rb_ary_push(mark_ary, g_##N); \
59
+ rb_gc_register_mark_object(g_##N); \
60
60
  } while (0)
61
61
 
62
62
  /* Defines the maximum allowed lengths for various input elements.*/
@@ -67,7 +67,7 @@ DEF_MAX_LENGTH(FRAGMENT, 1024); /* Don't know if this length is specified somewh
67
67
  DEF_MAX_LENGTH(REQUEST_PATH, 4096); /* common PATH_MAX on modern systems */
68
68
  DEF_MAX_LENGTH(QUERY_STRING, (1024 * 10));
69
69
 
70
- static void init_globals(VALUE mark_ary)
70
+ static void init_globals(void)
71
71
  {
72
72
  DEF_GLOBAL(rack_url_scheme, "rack.url_scheme");
73
73
  DEF_GLOBAL(request_method, "REQUEST_METHOD");
@@ -64,13 +64,13 @@ static VALUE httpdate(VALUE self)
64
64
  return buf;
65
65
  }
66
66
 
67
- void init_unicorn_httpdate(VALUE mark_ary)
67
+ void init_unicorn_httpdate(void)
68
68
  {
69
69
  VALUE mod = rb_define_module("Unicorn");
70
70
  mod = rb_define_module_under(mod, "HttpResponse");
71
71
 
72
72
  buf = rb_str_new(0, buf_capa - 1);
73
- rb_ary_push(mark_ary, buf);
73
+ rb_gc_register_mark_object(buf);
74
74
  buf_ptr = RSTRING_PTR(buf);
75
75
  httpdate(Qnil);
76
76
 
@@ -13,7 +13,7 @@
13
13
  #include "global_variables.h"
14
14
  #include "c_util.h"
15
15
 
16
- void init_unicorn_httpdate(VALUE mark_ary);
16
+ void init_unicorn_httpdate(void);
17
17
 
18
18
  #define UH_FL_CHUNKED 0x1
19
19
  #define UH_FL_HASBODY 0x2
@@ -931,11 +931,8 @@ static VALUE HttpParser_rssget(VALUE self)
931
931
 
932
932
  void Init_unicorn_http(void)
933
933
  {
934
- static VALUE mark_ary;
935
934
  VALUE mUnicorn, cHttpParser;
936
935
 
937
- mark_ary = rb_ary_new();
938
- rb_global_variable(&mark_ary);
939
936
  mUnicorn = rb_define_module("Unicorn");
940
937
  cHttpParser = rb_define_class_under(mUnicorn, "HttpParser", rb_cObject);
941
938
  eHttpParserError =
@@ -945,7 +942,7 @@ void Init_unicorn_http(void)
945
942
  e414 = rb_define_class_under(mUnicorn, "RequestURITooLongError",
946
943
  eHttpParserError);
947
944
 
948
- init_globals(mark_ary);
945
+ init_globals();
949
946
  rb_define_alloc_func(cHttpParser, HttpParser_alloc);
950
947
  rb_define_method(cHttpParser, "initialize", HttpParser_init, 0);
951
948
  rb_define_method(cHttpParser, "clear", HttpParser_clear, 0);
@@ -982,16 +979,14 @@ void Init_unicorn_http(void)
982
979
 
983
980
  rb_define_singleton_method(cHttpParser, "max_header_len=", set_maxhdrlen, 1);
984
981
 
985
- init_common_fields(mark_ary);
982
+ init_common_fields();
986
983
  SET_GLOBAL(g_http_host, "HOST");
987
984
  SET_GLOBAL(g_http_trailer, "TRAILER");
988
985
  SET_GLOBAL(g_http_transfer_encoding, "TRANSFER_ENCODING");
989
986
  SET_GLOBAL(g_content_length, "CONTENT_LENGTH");
990
987
  SET_GLOBAL(g_http_connection, "CONNECTION");
991
988
  id_set_backtrace = rb_intern("set_backtrace");
992
- init_unicorn_httpdate(mark_ary);
993
-
994
- OBJ_FREEZE(mark_ary);
989
+ init_unicorn_httpdate();
995
990
 
996
991
  #ifndef HAVE_RB_HASH_CLEAR
997
992
  id_clear = rb_intern("clear");
@@ -11,7 +11,7 @@
11
11
 
12
12
  Gem::Specification.new do |s|
13
13
  s.name = %q{unicorn}
14
- s.version = (ENV['VERSION'] || '5.5.0.pre1').dup
14
+ s.version = (ENV['VERSION'] || '5.5.0').dup
15
15
  s.authors = ['unicorn hackers']
16
16
  s.summary = 'Rack HTTP server for fast clients and Unix'
17
17
  s.description = File.read('README').split("\n\n")[1]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unicorn
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.0.pre1
4
+ version: 5.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - unicorn hackers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-20 00:00:00.000000000 Z
11
+ date: 2019-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -285,12 +285,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
285
285
  version: '3.0'
286
286
  required_rubygems_version: !ruby/object:Gem::Requirement
287
287
  requirements:
288
- - - ">"
288
+ - - ">="
289
289
  - !ruby/object:Gem::Version
290
- version: 1.3.1
290
+ version: '0'
291
291
  requirements: []
292
- rubyforge_project:
293
- rubygems_version: 2.7.7
292
+ rubygems_version: 3.0.2
294
293
  signing_key:
295
294
  specification_version: 4
296
295
  summary: Rack HTTP server for fast clients and Unix