New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] [GSOC-2017] Import EventWaitHandle, AutoResetEvent, ManualResetEvent, Mutex and Semaphore #5054

Open
wants to merge 5 commits into
base: master
from

Conversation

Projects
None yet
4 participants
@dampir

dampir commented Jun 16, 2017

In this post, I want to summarize what has been done during my participation in GSoC 2017.
I'm going to send the link to this post as my work product submission for final evaluation of GSoC 2017.

What has been done:

  • Added additional platform specific dll.sources files to handle the CoreRT approach when platform specific code is placed in its own file.
  • Ported all needed managed classes of CoreRT source code. It includes classes that must be ported to integrate Semaphore, Mutex and EventWaitHandle synchronization primitives into Mono.
  • The CoreRT runtime library System.Private.CoreLib.Native was integrated into Mono as a dynamic library.
  • Started a work on an adaptation of Mono runtime to handle of CoreRT's managed class instead of Mono's ones.

What should be done next:

  • As was found, imported sync primitives are tightly connected with the Thread class from CoreFX project. The Thread class must be imported first, but it means that all System.Threading (the Tasks classes, etc) must be imported next. I tried to import them but the attempt was failed. Here is a link to the commits I did: gsoc-import-thread-class.
  • The work on an adaptation of Mono runtime should be done next.

I want to say big thanks for all people that helped me during GSoC 2017. I got a very valuable experience, especially in C# and Mono internals.

@dampir dampir changed the title from [WIP] [corert] Imported EventWaitHandle, AutoResetEvent and ManualResetEvent. to [WIP] [corert] Import EventWaitHandle, AutoResetEvent and ManualResetEvent. Jun 21, 2017

@dampir dampir changed the title from [WIP] [corert] Import EventWaitHandle, AutoResetEvent and ManualResetEvent. to [WIP] [corert] Import EventWaitHandle, AutoResetEvent and ManualResetEvent Jun 21, 2017

@dampir dampir changed the title from [WIP] [corert] Import EventWaitHandle, AutoResetEvent and ManualResetEvent to [WIP] [corert] Import EventWaitHandle, AutoResetEvent, ManualResetEvent, Mutex and Semaphore Jun 25, 2017

@dampir dampir requested review from kumpera and luhenry as code owners Jul 16, 2017

@dampir dampir requested a review from marek-safar as a code owner Jul 24, 2017

@dampir dampir requested a review from vargaz as a code owner Jul 27, 2017

Show outdated Hide outdated mcs/class/corlib/darwin_net_4_x_corlib.dll.exclude.sources
@@ -0,0 +1,2 @@
#include net_4_x_System.dll.sources

This comment has been minimized.

@marek-safar

marek-safar Aug 14, 2017

Member

@luhenry is this necessary I think we had auto-fall back for this

@marek-safar

marek-safar Aug 14, 2017

Member

@luhenry is this necessary I think we had auto-fall back for this

@marek-safar

This comment has been minimized.

Show comment
Hide comment
@marek-safar

marek-safar Aug 14, 2017

Member

build

Member

marek-safar commented Aug 14, 2017

build

@marek-safar

This comment has been minimized.

Show comment
Hide comment
@marek-safar

marek-safar Aug 15, 2017

Member

Could you investigate the test failures, some looks like related to your changes

Member

marek-safar commented Aug 15, 2017

Could you investigate the test failures, some looks like related to your changes

@dampir dampir requested a review from akoeplinger as a code owner Aug 22, 2017

@dampir dampir changed the title from [WIP] [corert] Import EventWaitHandle, AutoResetEvent, ManualResetEvent, Mutex and Semaphore to [WIP] [GSOC-2017] Import EventWaitHandle, AutoResetEvent, ManualResetEvent, Mutex and Semaphore Aug 25, 2017

@mono mono deleted a comment from dnfclas Nov 16, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment