Aaron Piotrowski
69d85ea8e2
Use pcntl_waitpid() instead of sleeping
2015-09-27 00:20:06 -05:00
Stephen Coakley
283a35ee6d
Increase delay
2015-09-26 01:33:40 -05:00
Stephen Coakley
82c977bb9a
Fix test conflicts with forks not ready yet
2015-09-26 01:30:44 -05:00
Stephen Coakley
d3038f9597
Fix FileMutex when acquiring multiple times
...
Also fix ParcelTest.
2015-09-26 00:50:25 -05:00
Stephen Coakley
dd35995792
Add fork and lock tests and some cleanup
2015-09-25 23:41:15 -05:00
Aaron Piotrowski
7def2ae5a3
No longer call kill() in destructors
...
This means forks/processes/threads must be properly shutdown or killed before a reference is lost or the thread will continue to run indefinitely. This was necessary because forks were automatically killing other processes or threads due to calling kill() in the destructor.
2015-09-14 18:59:33 -05:00
Aaron Piotrowski
ae267e64ac
Add worker environment
2015-09-09 23:29:41 -05:00
Aaron Piotrowski
ff44afde6d
Remove Channel::createSocketPair(); refactor Thread
2015-09-04 16:22:41 -05:00
Aaron Piotrowski
3071dee6c8
Improve semaphore tests
2015-09-03 23:23:12 -05:00
Aaron Piotrowski
3c93d2c383
Update tests and coverage annotations; fix some docs
2015-09-03 18:10:19 -05:00
Aaron Piotrowski
a281e34077
Update Channel and add more tests
2015-09-02 18:29:48 -05:00
Aaron Piotrowski
45a54f3f78
Update Thread; add more tests
2015-09-02 16:34:42 -05:00
Aaron Piotrowski
9f86336edd
Merge branch 'master' of https://github.com/icicleio/concurrent
...
Conflicts:
tests/Threading/ThreadTest.php
2015-08-31 14:13:54 -05:00
Aaron Piotrowski
0e7944afea
Check if thread is running before killing
2015-08-31 14:12:38 -05:00
coderstephen
a0a5dafdb6
Try to fix testKill occasionally hanging
2015-08-31 14:04:42 -05:00
coderstephen
b212d00735
Fix timing in sync tests
2015-08-31 14:00:07 -05:00
Aaron Piotrowski
1ba162da36
Fix fork killing; fix timing in tests
2015-08-31 13:30:07 -05:00
coderstephen
3ee7e7ab0d
Fix worker tests to not use kill() so much
2015-08-31 12:57:40 -05:00
coderstephen
d37052615e
Doc fixes
2015-08-31 12:26:11 -05:00
coderstephen
ec3f5621b7
Implement fast algorithm for POSIX semaphores
2015-08-31 04:22:42 -05:00
coderstephen
1fe1374c8a
Fix & improve tests; add thread start error check
2015-08-30 18:25:44 -05:00
Aaron Piotrowski
b0ddd761a6
Remove LocalObject and LocalStorage
2015-08-29 01:03:46 -05:00
coderstephen
ef90b760e4
Add some tests for workers
2015-08-28 20:55:30 -05:00
coderstephen
725d94f379
More tests
2015-08-28 16:58:15 -05:00
coderstephen
9559d32241
Fix broken tests & add skips when extension needed
2015-08-28 15:09:07 -05:00
coderstephen
12023bd81e
Fix garbage and broken tests
2015-08-28 14:41:27 -05:00
coderstephen
8abb317507
Close channels when finished
2015-08-28 13:38:16 -05:00
coderstephen
9112f671a5
Update ChannelTest to match changes in Channel
2015-08-27 13:07:56 -05:00
coderstephen
d727d6a0d4
Fix parcel method name errors and tests
2015-08-24 23:23:42 -05:00
coderstephen
bab3c30763
Add cleanup to tests
2015-08-10 22:35:59 -05:00
coderstephen
d2ab1cd0a1
First working async POSIX semaphore using shared objects
2015-08-10 22:27:10 -05:00
coderstephen
6c8898b416
Some cleanup, with persistent permissions and better resize handling
2015-08-10 16:36:01 -05:00
coderstephen
1a8f7c1e33
Add tests over multiple processes
2015-08-10 14:28:47 -05:00
coderstephen
4de9909c00
Fix bugs with deref() and use set() instead of update()
2015-08-10 13:21:22 -05:00
coderstephen
b0ebadedf6
New shared memory object that stores a single value
2015-08-09 22:16:34 -05:00
coderstephen
71f25e9def
Add tiny unit test for ThreadedMutex
2015-08-07 22:50:20 -05:00
coderstephen
000de5ba12
New threaded async semaphore, with a better semaphore API
2015-08-07 15:32:18 -05:00
coderstephen
18c23ef88d
Update channel test to use createSocketPair
2015-08-07 01:38:53 -05:00
coderstephen
3855d8b5e9
Add handling for cloning local objects
2015-08-05 11:19:48 -05:00
coderstephen
712a4b69d2
More tests for LocalObject
2015-08-05 03:53:43 -05:00
coderstephen
cac4bdf71e
Use LocalObject to store local storage array
2015-08-05 03:45:35 -05:00
coderstephen
ff413c904c
First working, async threads using channels for messages
...
Channel was changed to return resources on creation.
Also, much better setting up synchronization at the beginning of a new
thread.
2015-08-05 02:48:43 -05:00
coderstephen
ced3ddc8ff
New class for storing non-thread-safe objects in thread-local memory
2015-08-05 02:21:49 -05:00
coderstephen
a372328534
LocalStorage class for storing unsafe data inside a thread
2015-08-03 16:07:58 -05:00
coderstephen
7919a0df38
Add better socket checking and error handling
...
Also update send() to return a generator.
2015-08-03 01:22:17 -05:00
coderstephen
f121adb577
Get rid of coroutine wrapper
2015-08-03 00:58:08 -05:00
coderstephen
fe54634462
Basic channel test
2015-08-03 00:20:06 -05:00
Aaron Piotrowski
4146c3fc09
Initial commit
2015-07-10 15:15:42 -05:00