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