[Mono-devel-list] Requesting Assistance

deepak pn deepakpnrvce at yahoo.co.in
Wed Mar 17 21:39:45 EST 2004


            I am a new bee in “Contributing to the class library”.


            I have written test cases for about 8-10 classes and hence familiar with almost all classes in “System.Threading” namespace.


            I am very much interested to complete *ALL* the TODOs in this namespace.  


            I have a few problems:


            1). The following code snippet appears in “Thread.cs”:


                        private extern static Thread CurrentThread_internal();


            I found from MSDN that the attribute “methodImplAttribute” is used here to specify that the method is defined else where and that the “InternalCall” refers to those methods implemented *WITHIN* the CLR.

            *WHERE* exactly are the definition of such methods found and *HOW* do I know all such methods.


            2). I have implemented two TODOs.  I do not know whether they are fine.

                        a).  TODO1 :The false return value of Change() method of “Timer.cs”.

                        b). TODO2 : The Dispose( bool ).


            3). What is the exact functionality of the WaitHandle() Constructor.


Can you please help me?



            Some of the test cases, which work perfectly on Windows/MS.NET, are not working as expected on Linux/Mono.  The details are:


                        1) AutoResetEventTest.cs


                                    a) TestAREConstructor() - Test does not succeed.

                                        TestReset() - Hangs mono

                                     I guess Abort() on a thread is not working as expected.


                                    b) None of the overloaded TestWaitAny() succeed.


                                    c) AutoResetEvent.WaitAll() and AutoResetEvent.WaitAny() do not throw the expected DuplicateWaitObjectException when the argument array has duplicate objects.


                        2) Timeout Class is OK.


                        3) TimerTest.cs

                                    a) TestArgumentNullException() - timer( null, X, X, X ) should cause an ArgumentNullException - but no exception is thrown.

                                    b) TestObjectDisposedException() - when timer refers to null, calling timer.Change should cause ObjectDisposedException, but NullReferenceException is thrown.

                                    c) TestNullReferenceException() - calling timer.Dispose( myEvent ) when myEvent refers to null causes no exception, but NullReferenceException is expected.


                        4) InterlockedTest.cs

a)       TestDecrement () – Hangs mono.



Can I post these to bugzilla?


P.S: Timer.cs attached

P.S: Test cases attached.


Best regards,



Yahoo! India Promos:  Win a trip for 2 to Britain. Click here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040318/d02e49cf/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: threading.rar
Type: application/octet-stream
Size: 11277 bytes
Desc: threading.rar
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040318/d02e49cf/attachment.obj 

More information about the Mono-devel-list mailing list