Marc Siegel
|
41b6777638
|
Fix SharedMemoryIO#read for binary data on Ruby 1.9+
|
2013-12-27 13:38:23 -05:00 |
Marc Siegel
|
aeadb74ef6
|
Fix Mutex to allow lock from different Ruby (green) thread in process
|
2013-12-27 10:46:50 -05:00 |
Marc Siegel
|
d2f8af03eb
|
Workaround apparent bug in 1.8.7/REE: block all during sem_timedwait
|
2013-12-26 13:48:29 -05:00 |
Marc Siegel
|
e2e70591a1
|
On posix, allow ruby threads to continue during wait / try_wait
|
2013-12-26 12:47:09 -05:00 |
Marc Siegel
|
50c096d84c
|
On mach, allow other ruby threads to continue during semaphore try_wait
|
2013-12-26 12:45:04 -05:00 |
Marc Siegel
|
d1644104c8
|
On mach, allow other ruby green threads to continue during semaphore wait
|
2013-12-26 12:27:36 -05:00 |
Patrick Mahoney
|
5aba20cdf7
|
Partial MonitorMixin implementation.
|
2012-03-29 23:00:52 -05:00 |
Patrick Mahoney
|
80284301a7
|
Use semaphore#synchronize convenience method internally.
|
2012-03-29 22:34:16 -05:00 |
Patrick Mahoney
|
1eff930480
|
Initial attempt at Monitor class.
|
2012-03-29 22:33:03 -05:00 |
Patrick Mahoney
|
da42ac4875
|
Refactor Mach FFI wrapper; get unit tests working again.
|
2012-02-08 21:30:18 -06:00 |
Patrick Mahoney
|
15fe2e5057
|
Refactor class hierarchy, implementation selection details.
|
2012-02-07 23:06:17 -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
faa8a6c5b3
|
Test RUBY_VERSION rather than VERSION (which no longer exists in 1.9).
|
2011-12-12 21:38:47 -06:00 |
Patrick Mahoney
|
4f775ac5ca
|
Add backwards compatibility define_singleton_method for Ruby 1.8.
|
2011-12-12 20:51:06 -06:00 |
Patrick Mahoney
|
b4b869e074
|
Check double-lock in Mutex. Update book keeping on unlock.
|
2011-12-11 22:57:57 -06:00 |
Patrick Mahoney
|
cf45ab9891
|
Initial commit.
|
2011-12-11 21:39:55 -06:00 |