raindrops RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [ANN] raindrops 0.14.0 - real-time stats for preforking Rack servers
@ 2015-06-25 21:54  5% Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2015-06-25 21:54 UTC (permalink / raw)
  To: ruby-talk; +Cc: raindrops-public

Raindrops is a real-time stats toolkit to show statistics for Rack HTTP
servers.  It is designed for preforking servers such as Rainbows! and
Unicorn, but should support any Rack HTTP server under Ruby 2.0, 1.9,
1.8 and Rubinius on platforms supporting POSIX shared memory.  It may
also be used as a generic scoreboard for sharing atomic counters across
multiple processes.

* http://raindrops.bogomips.org/
* No subscription necessary, no HTML mail:
  raindrops-public@bogomips.org
* git clone git://bogomips.org/raindrops.git
* http://raindrops.bogomips.org/NEWS.atom.xml
* http://raindrops-demo.bogomips.org/

Changes: nothing terribly interesting, misc doc updates

Eric Wong (7):
      linux_inet_diag: annotate memory freeing on diag errors
      README: trim intro and update license
      modernize packaging and documentation
      move mailing list to raindrops-public@bogomips.org
      linux_inet_diag: clarify *fprintf usage without GVL
      TODO: add item for unix_diag and udp_diag
      linux_inet_diag: fix Wshorten-64-to-32 warnings

Hleb Valoshka (1):
      Add setup and teardown for ipv6 tests
-- 
EW

^ permalink raw reply	[relevance 5%]

* [PATCH] linux_inet_diag: clarify *fprintf usage without GVL
@ 2015-01-14  0:25  7% Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2015-01-14  0:25 UTC (permalink / raw)
  To: raindrops-public; +Cc: Eric Wong

A reviewer may wonder why fprintf is chosen instead of rb_warn,
so make it clear we're outside of the GVL when spewing the
warning message and cannot use most rb_* functions.
---
 ext/raindrops/linux_inet_diag.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c
index fa8de03..5f21295 100644
--- a/ext/raindrops/linux_inet_diag.c
+++ b/ext/raindrops/linux_inet_diag.c
@@ -1,4 +1,5 @@
 #include <ruby.h>
+#include <stdarg.h>
 #ifdef HAVE_RUBY_ST_H
 #  include <ruby/st.h>
 #else
@@ -213,8 +214,14 @@ static const char *addr_any(sa_family_t family)
 	return ipv6;
 }
 
-static void bug_warn(void)
+static void bug_warn_nogvl(const char *fmt, ...)
 {
+	va_list ap;
+
+	va_start(ap, fmt);
+	vfprintf(stderr, fmt, ap);
+	va_end(ap);
+
 	fprintf(stderr, "Please report how you produced this at "\
 	                "raindrops-public@bogomips.org\n");
 	fflush(stderr);
@@ -263,8 +270,7 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r)
 		assert(0 && "unsupported address family, could that be IPv7?!");
 	}
 	if (rc != 0) {
-		fprintf(stderr, "BUG: getnameinfo: %s\n", gai_strerror(rc));
-		bug_warn();
+		bug_warn_nogvl("BUG: getnameinfo: %s\n", gai_strerror(rc));
 		*key = 0;
 	}
 
@@ -296,8 +302,7 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r)
 				 addr_any(sa.ss.ss_family),
 				 ntohs(r->id.idiag_sport));
 		if (n <= 0) {
-			fprintf(stderr, "BUG: snprintf: %d\n", n);
-			bug_warn();
+			bug_warn_nogvl("BUG: snprintf: %d\n", n);
 		}
 		if (st_lookup(table, (st_data_t)key, (st_data_t *)&stats))
 			return stats;
-- 
EW


^ permalink raw reply related	[relevance 7%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2015-01-14  0:25  7% [PATCH] linux_inet_diag: clarify *fprintf usage without GVL Eric Wong
2015-06-25 21:54  5% [ANN] raindrops 0.14.0 - real-time stats for preforking Rack servers Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/raindrops.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).