Skip to content
Commits on Jun 27, 2016
  1. @monojenkins

    Merge pull request #3204 from BrzVlad/fix-lock-free-alloc2

    [utils] Fix retiring of live block for the lock free allocator
    
    Freeing a block descriptor (along with the block) can happen either when freeing a pointer in the block (we do this in order to prevent situations where we need to wait for the next alloc in order to free a block), either when we acquire an empty block while allocating. Either way, in order to free a block descriptor, we need to acquire it first.
    
    When freeing a slot in a block, we are checking if the block is now empty in which case we acquire the block descriptor in order to free it (along with the block). While doing so, we were failing to account for the case where, by the time we make the block descriptor empty and the time we acquire it, another thread would try to allocate from the same descriptor, see that it's empty, free it, allocate a new descriptor (which would happen to have the same address as the retired one) to fulfill the allocation and then set it as the active descriptor for the allocator. When the first thread finally acquires the descriptor, we need to double check that it is still empty since it might be logically a different descriptor than the one we actually freed from. In the unlikely case it's not empty, we need to put it back in the allocator's data structures.
    monojenkins committed on GitHub Jun 28, 2016
  2. @BrzVlad @migueldeicaza

    [sgen] Use sgen_qsort instead of qsort (#3205)

    qsort is not signal safe.
    BrzVlad committed with migueldeicaza Jun 27, 2016
  3. @akoeplinger

    Merge pull request #3202 from dlahoti/patch-1

    make monodis exit with value 1 on an error
    akoeplinger committed on GitHub Jun 27, 2016
Commits on Jun 24, 2016
  1. @tritao

    Merge pull request #3209 from tritao/master

    [System.IO.Compression] Fixed stream writes when Zip archive is opened in Update mode
    tritao committed on GitHub Jun 24, 2016
  2. @ludovic-henry

    Merge pull request #3208 from ludovic-henry/iolayer-remove-shared

    [io-layer] Remove remaining pieces for cross-process mutex, semaphore and event
    ludovic-henry committed on GitHub Jun 24, 2016
  3. @nealef @lambdageek

    Enhanced logging - attempt 2.5 (#3191)

    * Revert "Revert "Enhance log tracing""
    
    This reverts commit 565c6ac.
    
    * Better handle legacy log handler processing with suggestions from lamdageek
    
    * Remove unnecessary assignment
    
    * Restore mono_trace_set_log_handler parameters to their original specification
    nealef committed with lambdageek Jun 24, 2016
  4. @ludovic-henry
  5. @ludovic-henry
  6. @ludovic-henry

    [io-layer] Remove _wapi_shared_layout

    This effectively remove any remaining code regarding the cross-process sharing of certain io-layer facilities.
    ludovic-henry committed Jun 24, 2016
  7. @tritao
Commits on Jun 23, 2016
  1. @akoeplinger

    Merge pull request #3207 from ntherning/fix_broken_libmonosgen_dll_on…

    …_cygwin
    
    Fix broken libmonosgen-2.0.dll on Cygwin due to -ggdb3 flag in CFLAGS
    akoeplinger committed on GitHub Jun 24, 2016
  2. @ludovic-henry
  3. @ludovic-henry
  4. @ludovic-henry

    [io-layer] Remove mutex and namedmutex pid field

    We do not support shared process handles anymore, so the pid is always going to be the same
    ludovic-henry committed Jun 23, 2016
  5. @ludovic-henry
  6. @ntherning

    Don't pass -ggdb3 in CFLAGS on Windows builds as it somehow corrupts the

    libmonosgen-2.0.dll and breaks the build of monograph.exe which links against
    it.
    
    Also adds -O2 to CFLAGS on all platforms to align with how releases are built.
    ntherning committed Jun 23, 2016
  7. @dlahoti

    make monodis exit with value 1 on an error

    This should make it easier to programmatically check for errors, since it will remove the need to test the output string, which is an unreliable way of doing things.
    dlahoti committed on GitHub Jun 22, 2016
  8. @BrzVlad

    [utils] Fix retiring of live block for the lock free allocator

    Freeing a block descriptor (along with the block) can happen either when freeing a pointer in the block (we do this in order to prevent situations where we need to wait for the next alloc in order to free a block), either when we acquire an empty block while allocating. Either way, in order to free a block descriptor, we need to acquire it first.
    
    When freeing a slot in a block, we are checking if the block is now empty in which case we acquire the block descriptor in order to free it (along with the block). While doing so, we were failing to account for the case where, by the time we make the block descriptor empty and the time we acquire it, another thread would try to allocate from the same descriptor, see that it's empty, free it, allocate a new descriptor (which would happen to have the same address as the retired one) to fulfill the allocation and then set it as the active descriptor for the allocator. When the first thread finally acquires the descriptor, we need to double check that it is still empty since it might be logically a different descriptor than the one we actually freed from. In the unlikely case it's not empty, we need to put it back in the allocator's data structures.
    BrzVlad committed Jun 16, 2016
Commits on Jun 22, 2016
  1. @BrzVlad
  2. @akoeplinger

    Merge pull request #3197 from BrzVlad/fix-thread-layout

    [sgen] Fix Thread layout after changes in #3123
    akoeplinger committed on GitHub Jun 23, 2016
  3. @grendello

    Don't run the ping test on certain Android devices

    As described in https://bugzilla.xamarin.com/show_bug.cgi?id=34883 at
    least Samsung SG3 doesn't allow access to the local network
    interface (in fact, even ifconfig doesn't work on the device). Therefore
    the test needs to be disabled on those devices. This is the first part
    of the fix, the second one will be implemented in Xamarin.Android test
    suite which will provide the AndroidShouldPingWork method which will
    check the device id against list of those that do not work for this
    test.
    
    Part #1 of fix for https://bugzilla.xamarin.com/show_bug.cgi?id=34883
    grendello committed Jun 22, 2016
  4. @BrzVlad
Commits on Jun 21, 2016
  1. @tritao

    Merge pull request #3195 from tritao/zip_stream_getters

    [System.IO.Compression] Fixed stream length/position getters for ZIP entries
    tritao committed on GitHub Jun 22, 2016
  2. @tritao
  3. @marek-safar

    [System] Overwrite Console encoding to match mcs text output for Code…

    …DOM compiler. Fixes #41979
    marek-safar committed Jun 21, 2016
  4. @akoeplinger

    Merge pull request #3188 from akoeplinger/mozroots-fix

    [tools] Fix mozroots URL for Mozilla's certdata.txt and add deprecation warning
    akoeplinger committed on GitHub Jun 21, 2016
  5. @akoeplinger

    [tools] Fix mozroots URL for Mozilla's certdata.txt and add deprecati…

    …on warning
    
    MXR is not coming back (see https://bugzilla.mozilla.org/show_bug.cgi?id=1279952 and SuaveIO/mono-script-buildpack#9 (comment))
    and this broke everyone who still relied on mozroots. Fix by using the version from the hg repository instead.
    
    Starting from Mono 3.12 we've been shipping cert-sync to import CA certificates from the local computer trust store to Mono's trust store,
    we strongly encourage everyone to move to that instead. Added a deprecation warning to mozroots to further strengthen this message.
    
    Note that when fetching the CA list over the new https URL we need to skip cert validation errors, as the common use case for mozroots is when
    no certs are present on the system (bootstrapping). This enables MITM but we don't really have any other options. Another reason why cert-sync is superior.
    akoeplinger committed Jun 20, 2016
  6. @marek-safar
  7. @marek-safar
Commits on Jun 20, 2016
  1. @nealef @lambdageek

    Use thread priority at thread start time (#3123)

    * An enhancement to the thread priority work added earlier. This will support starting a thread with a specified priority. Currently, the thread will start with the priority of the creator. The semantics of threads allow you to specify the priority of a thread before it has started. Therefore, we take note of this value at thread creation time.
    
    * Missed committing this file the first time
    
    * Correct typo
    
    * Fix creation_flags reference
    
    * MonoThreadParm really should not be in objects-internal
    
    * Place priority in MonoInternalThread where it can be accessed by GetThreadPriority(). This enablses the priority to be set/retrieved before the thread is started. It also ensures that new threads default to a priority of THREAD_PRIORITY_NORMAL rather than inheriting the parent thread's priority.
    
    * Revert changes to MonoInternalThread/Thread.cs. Properly use the handle for thread lookup. Initialize priority at thread creation time. Use stored value of priority if thread has not been started.
    
    * Add code to handle retrieving the thread priority from a started thread that had been set before thread had started. This is necessary as before the thread is started the priority value can be manipulated. This value is stored in the MonoThread structure. Before the thread is started the value can be interrogated so we return this value rather than invoking the GetThreadPriority() API. When a thread is started this value is used to set the threads priority (if scheduling policy is SCHED_FIFO or SCHED_RR). For POSIX threads, after the thread is started we now keep the priority in the _Wapi_thread structure which is located via the thread handle. This structure doesn't exist until after the thread is started so we can't store the value there but after we can cache the priority value there and return it for non-SCHED_[RR|FIFO] threads. This way the expected value will always be set and returned by ThreadPriority property (currently for these threads it will simply return Normal). A test case has been added to the mono/tests directory.
    
    * Use a copy of creation_flags so local modifications aren't propagated
    
    * Use pthread_setschedparam as OSX doesn't support pthread_setschedprio
    nealef committed with lambdageek Jun 20, 2016
  2. @marek-safar
  3. @akoeplinger

    Merge pull request #3179 from gttds/patch-2

    [System.Web] Fixes 50 year form authentication
    akoeplinger committed on GitHub Jun 20, 2016
  4. @tritao

    Merge pull request #3184 from tritao/zip_datetime

    [System.IO.Compression] Fixed Zip entries with unset last write time to return the same as .NET.
    tritao committed on GitHub Jun 20, 2016
  5. @marek-safar

    Merge pull request #3183 from marek-safar/bug41874

    [reflection] Properties always use name and signature hidding rules. …
    marek-safar committed on GitHub Jun 20, 2016
  6. @marek-safar
Something went wrong with that request. Please try again.