ChangeLog in posix_mq-0.3.1 vs ChangeLog in posix_mq-0.4.0
- old
+ new
@@ -1,6 +1,132 @@
ChangeLog from git://git.bogomips.org/ruby_posix_mq.git ()
+ commit aa9beecf64739ea084158ff63a92f626bfb5717d
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Mar 13 00:28:14 2010 -0800
+
+ posix_mq 0.4.0
+
+ Small bugfixes and small API changes to avoid potential
+ issues/misuse are the focus of this release.
+
+ For non-blocking operation, the GVL is no longer bounced. This
+ reduces synchronization/scheduling overhead when used in
+ non-blocking applications.
+
+ Small cleanups and documentation improvements, too.
+
+ * make POSIX_MQ#dup and POSIX_MQ#clone no-op
+ * do not release GVL for non-blocking operations
+ * do not release GVL when unlinking/opening
+ * POSIX_MQ#<< does not release GVL when non-blocking
+ * avoid shadow warnings
+ * README: add mailing list archives info
+ * POSIX_MQ#to_io works under FreeBSD, too
+ * fix potential race with notify(&block)
+ * add TODO item for using netlink under Linux
+ * remove non-portable #warning CPP directive
+ * ensure POSIX_MQ#name is clobber-proof
+
+ commit 437cbe78cb0f239e34f9dbf1341f5b85f96f2f25
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Mar 13 00:22:22 2010 -0800
+
+ ensure POSIX_MQ#name is clobber-proof
+
+ We don't want folks to accidentally clobber the value for
+ others, so allocate a new string object for it (don't worry,
+ rb_str_dup() is cheap in 1.9).
+
+ commit 74e1f75b238416d9ac402f291431a5e457ae313f
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Mar 13 00:08:37 2010 -0800
+
+ remove non-portable #warning CPP directive
+
+ There's a good chance they're not using GCC if they're on some
+ weird platform that we'd emit a warning for.
+
+ commit 9881f136858ac8f3a77a6cea8ce15b1cdb4ad55a
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Tue Mar 2 22:47:29 2010 -0800
+
+ add TODO item for using netlink under Linux
+
+ commit 19668b0edc9b09cfd72247f7041390e0328032a0
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Tue Mar 2 21:20:28 2010 -0800
+
+ fix potential race with notify(&block)
+
+ We need to assign the notify_thread before assigning the
+ notification. Otherwise, there's a chance the notification
+ could fire and the notify_thread is not properly assigned for
+ the POSIX_MQ object when the pipe becomes readable.
+
+ commit 0f4a8ef81479f9eff9037011d81b96cf402cbe7b
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 17:36:16 2010 -0800
+
+ POSIX_MQ#to_io works under FreeBSD, too
+
+ commit 44cd880c96a76d43f6dcc7f7cdf7f687e32bda0c
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 17:35:08 2010 -0800
+
+ README: add mailing list archives info
+
+ commit 4b56e475483454cd6616dd3c310c251940e9368b
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 17:19:52 2010 -0800
+
+ avoid shadow warnings
+
+ commit 97ef1cfd699640e40d2d63746d005f4f4cf6a863
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 14:52:16 2010 -0800
+
+ POSIX_MQ#<< does not release GVL when non-blocking
+
+ Missed this with the other change
+
+ commit 5849a3ca8e0691a7f39c5cdbfc09fc34ee4da308
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 14:46:04 2010 -0800
+
+ do not release GVL when unlinking/opening
+
+ Since the message queue is not actually on a (slow) block
+ device, it's unlikely to block in a way where other tasks may be
+ scheduled by the kernel. So avoid complicating things and
+ unnecessary task switching and assume mq_open/mq_unlink can
+ be executed as fast as the CPU/memory subsystems allows.
+
+ commit a90d0f97c9eb5d9683af09b60ef7af9e94a255c3
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Sat Feb 20 14:40:16 2010 -0800
+
+ do not release GVL for non-blocking operations
+
+ There's no point in wasting cycles releasing and reacquiring
+ a lock when we know we won't block. Since most non-blocking
+ users are expected to be single/few-threaded processes, this
+ will likely help them.
+
+ commit 67a59023164bc039129b34a742f06ba376687684
+ Author: Eric Wong <normalperson@yhbt.net>
+ Date: Wed Feb 17 00:37:43 2010 -0800
+
+ make POSIX_MQ#dup and POSIX_MQ#clone no-op
+
+ It'll cause problems for the automatic mq_close() during GC
+ otherwise, as dup(2) on an mqd_t isn't portable.
+
+ Of course there's no point in cloning or duping, either, as
+ mq_send/mq_receive operations are always atomic at the kernel
+ level and only one thread can have a notification registered
+ for it.
+
commit 05e577616b74bea99a0e43e07f28823ddda1aaf9
Author: Eric Wong <normalperson@yhbt.net>
Date: Sat Feb 13 03:39:17 2010 -0800
posix_mq 0.3.1