mono.git
12 years agoDisplay more debugging info when epoll fails
Gonzalo Paniagua Javier [Tue, 6 Sep 2011 01:12:14 +0000 (21:12 -0400)]
Display more debugging info when epoll fails

12 years agoFallback to poll() if epoll_create() fails
Gonzalo Paniagua Javier [Tue, 6 Sep 2011 00:49:08 +0000 (20:49 -0400)]
Fallback to poll() if epoll_create() fails

From a patch by Zoltan in bug #705190.

12 years agoHandle threads which die without detaching.
Zoltan Varga [Tue, 6 Sep 2011 02:20:51 +0000 (04:20 +0200)]
Handle threads which die without detaching.

12 years agoAdd a few missing cases to event_to_string () in sdb.
Zoltan Varga [Tue, 6 Sep 2011 02:11:10 +0000 (04:11 +0200)]
Add a few missing cases to event_to_string () in sdb.

12 years agoRemove some unused arguments from mono_arch_handle_exception () / mono_handle_excepti...
Zoltan Varga [Tue, 6 Sep 2011 00:41:49 +0000 (02:41 +0200)]
Remove some unused arguments from mono_arch_handle_exception () / mono_handle_exception ().

12 years agoImplement mono_arch_setup_async_callback () for amd64.
Zoltan Varga [Tue, 6 Sep 2011 00:10:04 +0000 (02:10 +0200)]
Implement mono_arch_setup_async_callback () for amd64.

12 years agoFix a warning.
Zoltan Varga [Mon, 5 Sep 2011 22:19:41 +0000 (00:19 +0200)]
Fix a warning.

12 years agoOptimize AOT generics data structures a bit more.
Zoltan Varga [Mon, 5 Sep 2011 20:12:38 +0000 (22:12 +0200)]
Optimize AOT generics data structures a bit more.

12 years agoAvoid searching out-of-date AOT modules for 'extra' methods.
Zoltan Varga [Mon, 5 Sep 2011 18:53:46 +0000 (20:53 +0200)]
Avoid searching out-of-date AOT modules for 'extra' methods.

12 years agoRemove some AOT assertions left in by mistake.
Zoltan Varga [Mon, 5 Sep 2011 18:32:20 +0000 (20:32 +0200)]
Remove some AOT assertions left in by mistake.

12 years agoFew corcompare fixes
Marek Safar [Mon, 5 Sep 2011 15:43:56 +0000 (16:43 +0100)]
Few corcompare fixes

12 years agoResolve conditional expression unreachable expression with unreachable flag set
Marek Safar [Mon, 5 Sep 2011 13:30:06 +0000 (14:30 +0100)]
Resolve conditional expression unreachable expression with unreachable flag set

12 years agoUnify anonymous method test names
Marek Safar [Mon, 5 Sep 2011 11:11:41 +0000 (12:11 +0100)]
Unify anonymous method test names

12 years agoFix compilation of array initializer used inside field initializer of an anonymous...
Marek Safar [Mon, 5 Sep 2011 10:55:14 +0000 (11:55 +0100)]
Fix compilation of array initializer used inside field initializer of an anonymous method

12 years agoReduced ternary operator expression is allowed as an attribute argument
Marek Safar [Mon, 5 Sep 2011 09:05:11 +0000 (10:05 +0100)]
Reduced ternary operator expression is allowed as an attribute argument

12 years agoRemove NET_2_0
Marek Safar [Fri, 2 Sep 2011 16:02:11 +0000 (17:02 +0100)]
Remove NET_2_0

12 years agoRevert 12fdfa365c2aa449c132bf0e04f59393792479f0 and save/restore task status to also...
Jérémie Laval [Mon, 5 Sep 2011 17:20:31 +0000 (19:20 +0200)]
Revert 12fdfa365c2aa449c132bf0e04f59393792479f0 and save/restore task status to also fix #561.

12 years agoRework the encoding of classes in AOT to save space for generic instances. This decre...
Zoltan Varga [Sun, 4 Sep 2011 23:54:05 +0000 (01:54 +0200)]
Rework the encoding of classes in AOT to save space for generic instances. This decreases the size of a full-aot mscorlib by about 50k.

12 years agoImprove the name of the proxy isinst wrappers.
Zoltan Varga [Sun, 4 Sep 2011 17:28:39 +0000 (19:28 +0200)]
Improve the name of the proxy isinst wrappers.

12 years agoCompute and print the space used by the GOT entry info among the AOT compiler stats.
Zoltan Varga [Sun, 4 Sep 2011 17:27:36 +0000 (19:27 +0200)]
Compute and print the space used by the GOT entry info among the AOT compiler stats.

12 years agoImplement AppDomain.ResourceResolve. Fixes #579.
Zoltan Varga [Sun, 4 Sep 2011 01:19:33 +0000 (03:19 +0200)]
Implement AppDomain.ResourceResolve. Fixes #579.

12 years agoPrint null MonoVTable's correctly in gdb.
Zoltan Varga [Sun, 4 Sep 2011 00:53:37 +0000 (02:53 +0200)]
Print null MonoVTable's correctly in gdb.

12 years agoFix unwinding through an LMF on ARM.
Zoltan Varga [Sun, 4 Sep 2011 00:49:57 +0000 (02:49 +0200)]
Fix unwinding through an LMF on ARM.

12 years agoImplement Stream ReadAsync/WriteAsync
Marek Safar [Fri, 2 Sep 2011 15:36:16 +0000 (16:36 +0100)]
Implement Stream ReadAsync/WriteAsync

12 years agoMake Stream BeginRead/BeginWrite asynchronous
Marek Safar [Fri, 2 Sep 2011 15:34:17 +0000 (16:34 +0100)]
Make Stream BeginRead/BeginWrite asynchronous

12 years agoMake MemoryStream more .net compatible
Marek Safar [Thu, 1 Sep 2011 15:56:36 +0000 (16:56 +0100)]
Make MemoryStream more .net compatible

12 years agoRemove NET_2_0 conditional
Marek Safar [Thu, 1 Sep 2011 15:41:21 +0000 (16:41 +0100)]
Remove NET_2_0 conditional

12 years agoAdd new test
Marek Safar [Thu, 1 Sep 2011 14:18:04 +0000 (15:18 +0100)]
Add new test

12 years agoXDocument could also be filled IXmlLineInfo.
Atsushi Eno [Sat, 3 Sep 2011 01:50:38 +0000 (18:50 -0700)]
XDocument could also be filled IXmlLineInfo.

12 years agoThe fin hashtable holds no value, so revert to tagging in the same way as 2-10 does.
Rodrigo Kumpera [Thu, 1 Sep 2011 23:59:20 +0000 (20:59 -0300)]
The fin hashtable holds no value, so revert to tagging in the same way as 2-10 does.

12 years agoHandle finalizable objects pointed by bridge objects. (cont...)
Rodrigo Kumpera [Thu, 1 Sep 2011 22:12:53 +0000 (19:12 -0300)]
Handle finalizable objects pointed by bridge objects. (cont...)

* sgen-fin-weak-hash.c:
* sgen-gc.c: Bridge objects are used to represent objects
that have references outside of sgen's control. They are
kept around until the embedder figures out it's ok to
collect them.
Until those bridge objects turn externally unreachable,
they must be kept around. Up to now, the expected pattern
was to resurrect them during finalization.
The problem with this approach is that if they hold references
to other finalizable, non-bridge objects those will be finalized
and we will resurrect objects that point to dead ones.

Think of this:

class BridgeObject {
  FileStream stream;
}

The bridge object is resurrected on the finalizer and so will
stream, disposing its native handle and been permanently unusable.

The solution is to process brige objects before we do ordinary
finalization. We record all dead bridges and copy/mark them.
We drain the gray queue on the end, which makes sure all other
finalizable objects that transitively reachable are too.

Finally, we introduce a breaking change to the bridge API.
The bridge must set to NULL the first object of all SCC
entries that remain alive. Other entries will be considered
dead and will be subject to regular finalization.

This way, sgen knows when a given bridge object is completely
unreachable and provides adequate finalization semantics to
them and referenced objects.

This fixes bxc #375

12 years agoAdd new sgen-hash method that changes the value of an existing key but doesn't insert...
Rodrigo Kumpera [Thu, 1 Sep 2011 20:36:52 +0000 (17:36 -0300)]
Add new sgen-hash method that changes the value of an existing key but doesn't insert when the key is not found.

12 years agoMerge pull request #168 from tomaszkubacki/master
Marek Safar [Thu, 1 Sep 2011 13:25:01 +0000 (06:25 -0700)]
Merge pull request #168 from tomaszkubacki/master

added Quit method to csharp eval

12 years agoFix wrong condition
Marek Safar [Thu, 1 Sep 2011 12:31:50 +0000 (13:31 +0100)]
Fix wrong condition

12 years agoImplement properly TaskFactory::FromAsync
Marek Safar [Thu, 1 Sep 2011 12:23:00 +0000 (13:23 +0100)]
Implement properly TaskFactory::FromAsync

12 years agoAdd missing finalizer
Marek Safar [Thu, 1 Sep 2011 12:22:44 +0000 (13:22 +0100)]
Add missing finalizer

12 years agoMake Task debugging more pleasant
Marek Safar [Thu, 1 Sep 2011 12:20:47 +0000 (13:20 +0100)]
Make Task debugging more pleasant

12 years agoDiffLoader didn't handle encoded name and caused mismatch between .NET.
Atsushi Eno [Thu, 1 Sep 2011 00:49:36 +0000 (17:49 -0700)]
DiffLoader didn't handle encoded name and caused mismatch between .NET.

12 years agoFix invalid path check for Windows regarding ':'.
Atsushi Eno [Wed, 31 Aug 2011 21:10:43 +0000 (14:10 -0700)]
Fix invalid path check for Windows regarding ':'.

12 years agoAdd test for bug #545.
Atsushi Eno [Wed, 31 Aug 2011 21:10:15 +0000 (14:10 -0700)]
Add test for bug #545.

12 years agoEncoderReplacementFallbackBuffer.Reset() did not really reset its internals.
Atsushi Eno [Wed, 31 Aug 2011 20:59:56 +0000 (13:59 -0700)]
EncoderReplacementFallbackBuffer.Reset() did not really reset its internals.

12 years agoDisable some invalid string ctor tests
Zoltan Varga [Wed, 31 Aug 2011 00:32:56 +0000 (02:32 +0200)]
Disable some invalid string ctor tests

12 years agoFix the namespace of some corlib tests
Zoltan Varga [Wed, 31 Aug 2011 00:22:34 +0000 (02:22 +0200)]
Fix the namespace of some corlib tests

12 years agoprepend $(CURDIR) to jay input files so that the debugging info references the right...
Chris Toshok [Tue, 30 Aug 2011 18:38:26 +0000 (11:38 -0700)]
prepend $(CURDIR) to jay input files so that the debugging info references the right .jay

12 years agoEmit a lot message in sdb when returning an ABSENT_INFORMATION error code
Zoltan Varga [Tue, 30 Aug 2011 22:51:34 +0000 (00:51 +0200)]
Emit a lot message in sdb when returning an ABSENT_INFORMATION error code

12 years agoClose defined interface on imported type parameters before importing base class....
Marek Safar [Tue, 30 Aug 2011 19:52:54 +0000 (20:52 +0100)]
Close defined interface on imported type parameters before importing base class. Fixes #495

12 years agoNew test
Marek Safar [Tue, 30 Aug 2011 19:41:12 +0000 (20:41 +0100)]
New test

12 years agoDon't use vasprintf on PLATFORM_ANDROID.
Jonathan Pryor [Tue, 30 Aug 2011 19:26:15 +0000 (15:26 -0400)]
Don't use vasprintf on PLATFORM_ANDROID.

This allows sanely using g_log() within signal handlers.

12 years agoImplement support for the new interrupt machinery in sdb.
Zoltan Varga [Tue, 30 Aug 2011 16:54:39 +0000 (18:54 +0200)]
Implement support for the new interrupt machinery in sdb.

12 years agoReally fix the previous sdb changes.
Zoltan Varga [Tue, 30 Aug 2011 14:44:56 +0000 (16:44 +0200)]
Really fix the previous sdb changes.

12 years agoFix the sdb changes made by 06ff2031
Zoltan Varga [Tue, 30 Aug 2011 14:39:47 +0000 (16:39 +0200)]
Fix the sdb changes made by 06ff2031

12 years agoImplement IXmlLineInfo on XLinq node reader.
Atsushi Eno [Tue, 30 Aug 2011 14:13:03 +0000 (23:13 +0900)]
Implement IXmlLineInfo on XLinq node reader.

12 years agoLineInfo on namespace nodes were missing.
Atsushi Eno [Tue, 30 Aug 2011 11:21:03 +0000 (20:21 +0900)]
LineInfo on namespace nodes were missing.

12 years agoInstall cccheck script
Marek Safar [Tue, 30 Aug 2011 08:30:08 +0000 (09:30 +0100)]
Install cccheck script

12 years agoadded Quit method for script scenerios
Tomasz Kubacki [Tue, 30 Aug 2011 04:18:47 +0000 (06:18 +0200)]
added Quit method for script scenerios

12 years agoDisable the new suspend code when using sdb, it doesn't seem to work yet (bxc #525).
Zoltan Varga [Tue, 30 Aug 2011 01:55:39 +0000 (03:55 +0200)]
Disable the new suspend code when using sdb, it doesn't seem to work yet (bxc #525).

12 years agoAOT the v4.0 monitor enter fastpath, not the unused 2.0.
Zoltan Varga [Mon, 29 Aug 2011 23:19:53 +0000 (01:19 +0200)]
AOT the v4.0 monitor enter fastpath, not the unused 2.0.

12 years agoFix the taken==true argument check in the v4 monitor fastpath.
Zoltan Varga [Mon, 29 Aug 2011 23:10:37 +0000 (01:10 +0200)]
Fix the taken==true argument check in the v4 monitor fastpath.

12 years agoEliminate the by-name encoding for all wrapper methods, instead, encode them directly...
Zoltan Varga [Tue, 12 Jul 2011 00:47:52 +0000 (02:47 +0200)]
Eliminate the by-name encoding for all wrapper methods, instead, encode them directly by encoding signatures etc. using a binary encoding. This saves 30k from the mscorlib AOT image at the cost of some runtime C code.

12 years agoUpdate Mono.Cecil
Jb Evain [Mon, 29 Aug 2011 13:59:34 +0000 (15:59 +0200)]
Update Mono.Cecil

12 years agoComplete README
Jb Evain [Mon, 29 Aug 2011 13:58:46 +0000 (15:58 +0200)]
Complete README

12 years agoAdd README to specify Cecil's update procedure
Jb Evain [Mon, 29 Aug 2011 13:56:26 +0000 (15:56 +0200)]
Add README to specify Cecil's update procedure

12 years agoDelete deprecated solution file
Jb Evain [Mon, 29 Aug 2011 13:52:51 +0000 (15:52 +0200)]
Delete deprecated solution file

12 years agoFix bug #380. Patch from bnc#605795 were not committed to master but part of MonoTouc...
Sebastien Pouliot [Mon, 29 Aug 2011 12:56:33 +0000 (08:56 -0400)]
Fix bug #380. Patch from bnc#605795 were not committed to master but part of MonoTouch 3.x (ended up missing in MT4)

12 years agoFix mingw32 cross-build on a git no-branch checkout. Fixes #698446.
Hin-Tak Leung [Sun, 28 Aug 2011 23:22:57 +0000 (01:22 +0200)]
Fix mingw32 cross-build on a git no-branch checkout. Fixes #698446.

12 years agoAllow pointers to structures to be passed in pinvoke, MS seems to allow this at least...
Zoltan Varga [Sun, 28 Aug 2011 15:50:52 +0000 (17:50 +0200)]
Allow pointers to structures to be passed in pinvoke, MS seems to allow this at least in some cases. Fixes bxc #158.
This partially reverts c4d9097c5719bc9455593a47d8d7d2585f1219ec.

12 years agoChange the way unbox trampolines are handled in AOT. Instead of emitting a global...
Zoltan Varga [Mon, 11 Jul 2011 22:12:56 +0000 (00:12 +0200)]
Change the way unbox trampolines are handled in AOT. Instead of emitting a global 'ut_...' symbol for them, which takes up space in the symbol table, emit a sorted table mapping method indexes to their unbox trampolines. This cuts the size of the static mscorlib AOT image by about 20k.

12 years agoDo not set WaitingToRun status when trying to run synchronously. Fix #471.
Jérémie Laval [Sun, 28 Aug 2011 13:18:04 +0000 (15:18 +0200)]
Do not set WaitingToRun status when trying to run synchronously. Fix #471.

12 years agoCheck and throw if a task reportedly executed isn't actually ran. Fix #470.
Jérémie Laval [Sun, 28 Aug 2011 13:10:03 +0000 (15:10 +0200)]
Check and throw if a task reportedly executed isn't actually ran. Fix #470.

12 years agoCheck that CancellationToken coming from OperationCanceledException isn't None. Fix...
Jérémie Laval [Sun, 28 Aug 2011 12:44:07 +0000 (14:44 +0200)]
Check that CancellationToken coming from OperationCanceledException isn't None. Fix #472.

12 years agoAvoid pinning a few stack slots on amd64.
Zoltan Varga [Sun, 28 Aug 2011 12:37:12 +0000 (14:37 +0200)]
Avoid pinning a few stack slots on amd64.

12 years agoImplement precise stack marking for ARM.
Zoltan Varga [Sat, 27 Aug 2011 20:50:29 +0000 (22:50 +0200)]
Implement precise stack marking for ARM.

12 years agoImprove precise stack marking on x86.
Zoltan Varga [Sat, 27 Aug 2011 17:06:31 +0000 (19:06 +0200)]
Improve precise stack marking on x86.

12 years agoFix the precise stack marking code on x86. Mark x86 register save locations as NOREF.
Zoltan Varga [Sat, 27 Aug 2011 12:47:55 +0000 (14:47 +0200)]
Fix the precise stack marking code on x86. Mark x86 register save locations as NOREF.

12 years agoAdd new file to project.
Jonathan Chambers [Fri, 26 Aug 2011 03:24:46 +0000 (23:24 -0400)]
Add new file to project.

12 years agoFix the scanning of the register save areas in the precise stack marking code, we...
Zoltan Varga [Thu, 25 Aug 2011 23:52:55 +0000 (01:52 +0200)]
Fix the scanning of the register save areas in the precise stack marking code, we were scanning 4/8 slots conservatively instead of just 1.

12 years agoMake the plt symbols used by llvm+aot code more descriptive.
Zoltan Varga [Thu, 25 Aug 2011 23:18:50 +0000 (01:18 +0200)]
Make the plt symbols used by llvm+aot code more descriptive.

12 years agoName llvm structure types.
Zoltan Varga [Thu, 25 Aug 2011 23:07:56 +0000 (01:07 +0200)]
Name llvm structure types.

12 years agoUpdate the LLVM backend to the latest code in the llvm-mono repository.
Zoltan Varga [Thu, 25 Aug 2011 22:18:37 +0000 (00:18 +0200)]
Update the LLVM backend to the latest code in the llvm-mono repository.

12 years agoThe base architecture for code-contracts analysis
Alexander Chebaturkin [Wed, 13 Jul 2011 22:47:34 +0000 (02:47 +0400)]
The base architecture for code-contracts analysis

12 years agoCheck TaskFactory continuation options
Marek Safar [Wed, 24 Aug 2011 13:59:34 +0000 (14:59 +0100)]
Check TaskFactory continuation options

12 years ago[mdoc] Remove monodocer.cs.orig, .monodocer.cs.swp.
Jonathan Pryor [Wed, 24 Aug 2011 13:41:01 +0000 (09:41 -0400)]
[mdoc] Remove monodocer.cs.orig, .monodocer.cs.swp.

These never should have been added in the first place. Oops.

12 years agoRevert GET switch for serializing requests. BodyWriter handles it better.
Atsushi Eno [Thu, 25 Aug 2011 01:11:25 +0000 (18:11 -0700)]
Revert GET switch for serializing requests. BodyWriter handles it better.

12 years agofor GET request, just skip the member. It does not contain xml for null.
Atsushi Eno [Wed, 24 Aug 2011 23:46:08 +0000 (16:46 -0700)]
for GET request, just skip the member. It does not contain xml for null.

12 years agoSkip serialization when the return type is void.
Atsushi Eno [Wed, 24 Aug 2011 19:14:48 +0000 (12:14 -0700)]
Skip serialization when the return type is void.

This batch should fix bug #206.

12 years agoDo not try to output empty message body to logs.
Atsushi Eno [Wed, 24 Aug 2011 19:12:04 +0000 (12:12 -0700)]
Do not try to output empty message body to logs.

12 years agoWhen there is void return, the common message formatter should ignore it.
Atsushi Eno [Wed, 24 Aug 2011 19:10:31 +0000 (12:10 -0700)]
When there is void return, the common message formatter should ignore it.

This case occurs when MessageContract is used and there is no member for
the return value.

12 years agoReturnValue in MessageDescription was missing when there was MessageContract.
Atsushi Eno [Wed, 24 Aug 2011 19:09:16 +0000 (12:09 -0700)]
ReturnValue in MessageDescription was missing when there was MessageContract.

12 years agoDifferentiate GET query parameter binding from another request binding.
Atsushi Eno [Wed, 24 Aug 2011 19:05:05 +0000 (12:05 -0700)]
Differentiate GET query parameter binding from another request binding.

This is one core of the bugfix for #206.

12 years agoWhen there was no path parameter, it ignored the whole path part.
Atsushi Eno [Wed, 24 Aug 2011 19:02:38 +0000 (12:02 -0700)]
When there was no path parameter, it ignored the whole path part.

12 years agoThis filter should ignore port, and should not filter out anonymous URIs.
Atsushi Eno [Wed, 24 Aug 2011 19:00:59 +0000 (12:00 -0700)]
This filter should ignore port, and should not filter out anonymous URIs.

12 years agoAdd System.Threading.Tasks.Dataflow assembly to the 4.0 build
Jérémie Laval [Tue, 23 Aug 2011 20:27:53 +0000 (22:27 +0200)]
Add System.Threading.Tasks.Dataflow assembly to the 4.0 build

12 years ago[mdoc-update] Fix interaction between --delete, -fno-assembly-versions.
Jonathan Pryor [Tue, 23 Aug 2011 19:51:09 +0000 (15:51 -0400)]
[mdoc-update] Fix interaction between --delete, -fno-assembly-versions.

`mdoc update --delete` is supposed to remove XML for types and type
members that are no longer present. This works sanely if the
type/member has only one assembly version in it, but once a member is
found in multiple versions, --delete only removes for the assembly
version currently being processed, and thus the member may stay in.

Ordinarily this is sufficient, and is why the HTML output lists the
assembly versions the type/member is found in.

However, then we introduce -fno-assembly-versions, which removes the
version store (if present) and doesn't re-generate. Thus, when both
are present, we would expect types and members to be removed,
irregardless of any pre-existing version information (because that
version information will be removed). This didn't happen. Worse,
because we kept re-processing version information, we'd ~never remove
any members even after repeated invocations, because we weren't
properly skipping the version store. Oops.

Fix the interaction, and Add tests so we ensure this works.

12 years agoAllow ldfld/stfld/ldflda to work on static fields by merging the relevant JIT code...
Zoltan Varga [Tue, 23 Aug 2011 16:50:23 +0000 (18:50 +0200)]
Allow ldfld/stfld/ldflda to work on static fields by merging the relevant JIT code with the ldsfld/stsfld code. Fixes #705383.

12 years agoVoid type is not convertible to reference types
Marek Safar [Tue, 23 Aug 2011 14:24:02 +0000 (15:24 +0100)]
Void type is not convertible to reference types

12 years agoRemove wrong assembly attribute
Marek Safar [Tue, 23 Aug 2011 13:59:20 +0000 (14:59 +0100)]
Remove wrong assembly attribute

12 years agoFix struct cycle detection for static generic type fields
Marek Safar [Tue, 23 Aug 2011 13:58:03 +0000 (14:58 +0100)]
Fix struct cycle detection for static generic type fields

12 years agoUse inflated version of interfaces when checking base method type parameter contraints
Marek Safar [Tue, 23 Aug 2011 09:22:30 +0000 (10:22 +0100)]
Use inflated version of interfaces when checking base method type parameter contraints

12 years agoRework self suspend to avoid a race on Mach.
Rodrigo Kumpera [Mon, 22 Aug 2011 22:43:19 +0000 (19:43 -0300)]
Rework self suspend to avoid a race on Mach.

* mono-threads.c (mono_thread_info_self_suspend): Implement
self suspend using semaphores in the same way it's done on
posix.

* mono-threads-posix.c:
* mono-threads-mach.c: Remove mono_threads_core_self_suspend
as this is now done on the platform independent bits.

* mono-threads.h: Add suspend bits to the state enum.

12 years agoMerge pull request #162 from garuma/tpl-dataflow-blocks
Marek Safar [Tue, 23 Aug 2011 12:48:04 +0000 (05:48 -0700)]
Merge pull request #162 from garuma/tpl-dataflow-blocks

@marek - TPL Dataflow part 4