public static void QueueTask___lateredirect(global::System.Object o, Original::Task task) { var self = (Original::TaskScheduler)o; Helper.SimpleWrap <bool>( delegate(ClrSyncManager manager) { //global::System.Console.WriteLine("Intercepting ThreadPoolTaskScheduler.QueueTask"); Helper.TaskArg p = new Helper.TaskArg(); p.s = new global::System.Threading.Semaphore(0, 1); p.e = new global::System.Threading.ManualResetEvent(false); p.task = task; p.taskScheduler = self; Original.Task.Factory.StartNew( Helper.TaskCreateWrapper(manager), p, global::System.Threading.CancellationToken.None, Original.TaskCreationOptions.None, self); p.e.WaitOne(); ChessTask child = manager.TaskFork(); manager.RegisterTaskSemaphore(child, p.s, false); manager.TaskResume(child); return(true); }, delegate() { var queueTask = self.GetType().GetMethod("QueueTask", global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance); queueTask.Invoke(self, new object[] { task }); return(true); } ); }
public static bool TryDequeue___lateredirect(global::System.Object o, Original::Task task) { using (_ProtectingThreadContext.Acquire()) { //global::System.Console.WriteLine("Intercepting ThreadPoolTaskScheduler.TryDequeue"); Original::TaskScheduler self = (Original::TaskScheduler)o; var tryDequeue = self.GetType().GetMethod("TryDequeue", global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance); return((bool)tryDequeue.Invoke(self, new object[] { task })); } }
public static bool Wait(Original::Task self, int millisecondsTimeout, CancellationToken cancellationToken) { return(WaitRaw(self, millisecondsTimeout, cancellationToken)); }
public static bool Wait(Original::Task self, TimeSpan timeout) { return(WaitRaw(self, (int)timeout.TotalMilliseconds, CancellationToken.None)); }
public static void Wait(Original::Task self, CancellationToken cancellationToken) { WaitRaw(self, Timeout.Infinite, cancellationToken); }
/* * // constructors * public static Original::Task ___ctor_newobj(Action action) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action<object> action, object state) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action action, CancellationToken cancellationToken) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action action, TaskCreationOptions creationOptions) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action<object> action, object state, CancellationToken cancellationToken) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action<object> action, object state, TaskCreationOptions creationOptions) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions) { throw new NotImplementedException("Task"); } * public static Original::Task ___ctor_newobj(Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions) { throw new NotImplementedException("Task"); } * * public static object AsyncState { get; } * public static TaskCreationOptions CreationOptions { get; } * public static static int? CurrentId { get; } * public static AggregateException Exception { get; } * public static static TaskFactory Factory { get; } * public static int Id { get; } * public static bool IsCanceled { get; } * public static bool IsCompleted { get; } * public static bool IsFaulted { get; } * public static TaskStatus Status { get; } * * public static Original::Task ContinueWith( * Original::Task self, Action<Original::Task> continuationAction) { throw new NotImplementedException("Task"); } * public static Original::Task<TResult> ContinueWith<TResult>( * Original::Task self, Func<Original::Task, TResult> continuationFunction) { throw new NotImplementedException("Task"); } * public static Original::Task ContinueWith( * Original::Task self, Action<Original::Task> continuationAction, CancellationToken cancellationToken) { throw new NotImplementedException("Task"); } * public static Original::Task ContinueWith( * Original::Task self, Action<Original::Task> continuationAction, TaskContinuationOptions continuationOptions) { throw new NotImplementedException("Task"); } * public static Original::Task ContinueWith( * Original::Task self, Action<Original::Task> continuationAction, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } * public static Original::Task<TResult> ContinueWith<TResult>( * Original::Task self, Func<Original::Task, TResult> continuationFunction, CancellationToken cancellationToken) { throw new NotImplementedException("Task"); } * public static Original::Task<TResult> ContinueWith<TResult>( * Original::Task self, Func<Original::Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions) { throw new NotImplementedException("Task"); } * public static Original::Task<TResult> ContinueWith<TResult>( * Original::Task self, Func<Original::Task, TResult> continuationFunction, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } * public static Original::Task ContinueWith( * Original::Task self, Action<Original::Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } * public static Original::Task<TResult> ContinueWith<TResult>( * Original::Task self, Func<Original::Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } * * public static void RunSynchronously( * Original::Task self) { throw new NotImplementedException("Task"); } * public static void RunSynchronously( * Original::Task self, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } * * public static void Start( * Original::Task self) { throw new NotImplementedException("Task"); } * public static void Start( * Original::Task self, TaskScheduler scheduler) { throw new NotImplementedException("Task"); } */ public static bool WaitRaw(Original::Task self, int timeout, CancellationToken cancellationToken) { return(WaitAllRaw(new Original::Task[] { self }, timeout, cancellationToken)); }