Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,21 @@ namespace System.Diagnostics.Tracing
#if !CORECLR && !ES_BUILD_PN
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
#endif // !CORECLR && !ES_BUILD_PN
internal struct EventDescriptor

/*
EventDescriptor was public in the separate System.Diagnostics.Tracing assembly(pre NS2.0),
now the move to CoreLib marked them as private.
While they are technically private (it's a contract used between the library and the ILC toolchain),
we need them to be rooted and exported from shared library for the system to work.
For now I'm simply marking them as public again.A cleaner solution might be to use.rd.xml to
root them and modify shared library definition to force export them.
*/
#if ES_BUILD_PN
public
#else
internal
#endif
struct EventDescriptor
{
# region private
[FieldOffset(0)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2505,7 +2505,21 @@ protected override void OnControllerCommand(ControllerCommand command, IDictiona
/// descriptor as well as some stuff we added specifically for EventSource. see the
/// code:m_eventData for where we use this.
/// </summary>
internal partial struct EventMetadata

/*
EventMetadata was public in the separate System.Diagnostics.Tracing assembly(pre NS2.0),
now the move to CoreLib marked them as private.
While they are technically private (it's a contract used between the library and the ILC toolchain),
we need them to be rooted and exported from shared library for the system to work.
For now I'm simply marking them as public again.A cleaner solution might be to use.rd.xml to
root them and modify shared library definition to force export them.
*/
#if ES_BUILD_PN
public
#else
internal
#endif
partial struct EventMetadata
{
public EventDescriptor Descriptor;
public EventTags Tags;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,22 @@ private Type GetDataType(EventMetadata eventData, int parameterId)
return dataType;
}

private static readonly bool m_EventSourcePreventRecursion = true;
private static readonly bool m_EventSourcePreventRecursion = true;

internal partial struct EventMetadata
/*
EventMetadata was public in the separate System.Diagnostics.Tracing assembly(pre NS2.0),
now the move to CoreLib marked them as private.
While they are technically private (it's a contract used between the library and the ILC toolchain),
we need them to be rooted and exported from shared library for the system to work.
For now I'm simply marking them as public again.A cleaner solution might be to use.rd.xml to
root them and modify shared library definition to force export them.
*/
#if ES_BUILD_PN
public
#else
internal
#endif
partial struct EventMetadata
{
public EventMetadata(EventDescriptor descriptor,
EventTags tags,
Expand Down