Commit Graph

65 Commits

Author SHA1 Message Date
Patrick Mahoney 0aab64eaff Skip Semaphore#value test on Mac OS X where it is unsupported. 2012-02-01 21:45:54 -06:00
Patrick Mahoney 60b1cd8e53 Add (again) default semaphore value; all tests passing on Linux. 2012-02-01 21:43:53 -06:00
Patrick Mahoney 842ff179ec Remove no-longer-used libpsem and related code and tests. 2012-02-01 21:42:34 -06:00
Patrick Mahoney 8158666e90 Add posix-y compatibility extension class over Mach::Semaphore. 2012-02-01 21:36:15 -06:00
Patrick Mahoney 680527cbab Add time and clock Mach functions; implement Mach::Semaphore#timedwait. 2012-02-01 21:34:51 -06:00
Patrick Mahoney b76bf99947 Add additional mach error codes. 2012-02-01 21:32:08 -06:00
Patrick Mahoney ffe1298731 Factor common TimeSpec methods into module. 2012-02-01 20:33:31 -06:00
Patrick Mahoney 71aa552213 Move with_self open-with-block helper to common module from posix semaphore implementation. 2012-02-01 19:44:24 -06:00
Patrick Mahoney 63d10c12a2 Exclude mach platform tests from default pattern in Rakefile. 2012-02-01 19:40:00 -06:00
Patrick Mahoney b1f7fd7fb8 Add doc, others to gitignore. 2012-02-01 19:39:26 -06:00
Patrick Mahoney 6f63c67c6e Split SharedMemory into module and platform dependent bits. Make SharedArray extend platform dependent class. 2012-02-01 19:38:53 -06:00
Patrick Mahoney db108a1913 Delete BoundedSemaphore. 2012-02-01 19:24:07 -06:00
Patrick Mahoney bb2bb3c5d9 Make BinarySemaphore delegate to platform-dependent semaphore. 2012-02-01 19:23:45 -06:00
Patrick Mahoney 13922373d6 Create dedicated class for messages. 2012-01-29 22:57:13 -06:00
Patrick Mahoney ae67dc6889 Add Ruby/FFI wrapper around POSIX shared memory and semaphore (obviating libpsem). 2012-01-29 22:54:22 -06:00
Patrick Mahoney b58a1a7cda Add helper c library for posix constants and type sizes. 2012-01-29 22:52:52 -06:00
Patrick Mahoney 74acbae899 Add test demonstrating copying semaphore from parent to child. 2012-01-21 18:39:47 -06:00
Patrick Mahoney 16ceacb31e Document Port#insert_right method. 2012-01-21 18:39:27 -06:00
Patrick Mahoney 807e694ad3 Fix typo. 2012-01-21 15:11:16 -06:00
Patrick Mahoney 933690a426 Remove logging statement from #send_right. 2012-01-21 15:10:38 -06:00
Patrick Mahoney 0ac03cfefc Add methods on port to send and receive rights from other tasks. 2012-01-21 15:06:46 -06:00
Patrick Mahoney 9f17aac114 Modify args to Semaphore and Port constructors to accept existing ports. 2012-01-16 08:14:58 -06:00
Patrick Mahoney 14e5b893bf Make (require 'mach') load all subcomponents. 2012-01-15 08:08:17 -06:00
Patrick Mahoney d337ddd0e3 Remove obsolete file added by mistake. 2012-01-15 08:05:34 -06:00
Patrick Mahoney 252d606c09 Add FFI wrapper around some of the Mach API (in Mac OS X). 2012-01-15 08:02:53 -06:00
Patrick Mahoney 3d01ce1ed6 Bump patch version. 2011-12-21 08:17:00 -06:00
Patrick Mahoney 893c457b35 Make ffi type to getter/setter method search more robust to work in 1.8 and 1.9. 2011-12-21 08:14:20 -06:00
Patrick Mahoney a21071b590 Fix object writing and reading for Ruby 1.8 IO differences. 2011-12-21 07:58:55 -06:00
Patrick Mahoney 70b372136d Re-add require 'process_shared' to spec_helper. 2011-12-20 22:20:30 -06:00
Patrick Mahoney 6b6be3c2e5 Add object transfer example to README. 2011-12-20 22:16:50 -06:00
Patrick Mahoney edc927709a Avoid possible race in ConditionVariable where new processes begin waiting while #broadcast is running. 2011-12-20 22:12:25 -06:00
Patrick Mahoney cc663a8d7f Add SharedMemory#write_object and #read_object; add SharedMemoryIO helper. 2011-12-20 22:09:38 -06:00
Patrick Mahoney cf6b821b17 Remove development dependency on simplecov. 2011-12-20 19:57:15 -06:00
Patrick Mahoney 611c41f939 Add SharedArray extension of SharedMemory (with Enumerable mixin). 2011-12-17 21:51:22 -06:00
Patrick Mahoney ea063678cc Update SharedMemory initializer to accept type and size. 2011-12-17 21:50:39 -06:00
Patrick Mahoney c320c75c8d Add SimpleCov coverage when running tests under 1.9 (though it doesn't seem to measure correctly...?). 2011-12-17 21:50:12 -06:00
Patrick Mahoney abe67c1702 Add note about BoundedSemaphore to TODO. 2011-12-17 11:09:51 -06:00
Patrick Mahoney a7bc854b41 Add some more TOOD's. 2011-12-17 11:07:57 -06:00
Patrick Mahoney d65979cc2e Initial attempt at ConditionVariable implementation. 2011-12-17 11:05:39 -06:00
Patrick Mahoney a1f881f59c Add finalizer to SharedMemory. 2011-12-17 10:31:22 -06:00
Patrick Mahoney 7bdae6482f Add finalizer to SharedMemory. 2011-12-17 10:31:09 -06:00
Patrick Mahoney 7d71937bf7 Add BinarySemaphore (error checking semaphore with max value 1). 2011-12-17 10:15:22 -06:00
Patrick Mahoney 0f00a7d444 Add minor explanatory comment. 2011-12-17 10:07:24 -06:00
Patrick Mahoney a0d0c7575c Test Semaphore#try_wait() that doesn't end in ETIMEDOUT. 2011-12-17 10:06:24 -06:00
Patrick Mahoney ee939d407c Adjust invalid tv_nsec values after adding. 2011-12-17 10:05:35 -06:00
Patrick Mahoney 7230e9f2c9 Add Semaphore#try_wait. Fix libpsem to convert relative timeout to absolute timeout. 2011-12-17 09:58:10 -06:00
Patrick Mahoney f65ae434e4 Clear the error pointer so that it may be reused. 2011-12-17 07:53:15 -06:00
Patrick Mahoney 514df0f49f Change from BoundedSemaphore to Semaphore in Mutex implementation so it will work on Mac OS X (and other platforms with out sem_getvalue(). 2011-12-13 22:03:36 -06:00
Patrick Mahoney d102786090 Expand documentation; fix markup. 2011-12-12 22:02:00 -06:00
Patrick Mahoney 27e8aeb4c4 Bump version to 0.0.4. 2011-12-12 21:39:40 -06:00