public void interrupt() { Debug.Assert(dispatcher != null); for (NativeContext *context = contextGroup.firstContext; context != null; context = context.groupNext) { dispatcher.interrupt(context); } }
//~Context() { V8NetProxy.DeleteContext(_NativeContext); _NativeContext = null; } public void Dispose() { if (_NativeContext != null) { V8NetProxy.DeleteContext(_NativeContext); } _NativeContext = null; }
//C++ TO C# CONVERTER TODO TASK: C# has no equivalent to ' = delete': // Dispatcher(const Dispatcher&) = delete; public void Dispose() { for (NativeContext *context = contextGroup.firstContext; context != null; context = context.groupNext) { interrupt(context); } yield(); Debug.Assert(contextGroup.firstContext == null); Debug.Assert(contextGroup.firstWaiter == null); Debug.Assert(firstResumingContext == null); Debug.Assert(runningContextCount == 0); while (firstReusableContext != null) { var ucontext = (ucontext_t)firstReusableContext.ucontext; var stackPtr = (uint8_t)firstReusableContext.stackPtr; firstReusableContext = firstReusableContext.next; Arrays.DeleteArray(stackPtr); if (ucontext != null) { ucontext.Dispose(); } } while (timers.Count > 0) { int result = global::close(timers.Peek()); if (result != 0) { } Debug.Assert(result == 0); timers.Pop(); } var result = close(epoll); if (result) { } Debug.Assert(result == 0); result = close(remoteSpawnEvent); Debug.Assert(result == 0); //C++ TO C# CONVERTER TODO TASK: There is no equivalent to 'reinterpret_cast' in C#: result = pthread_mutex_destroy(reinterpret_cast <pthread_mutex_t>(this.mutex)); Debug.Assert(result == 0); }
public extern static HandleProxy *SetContext64(NativeV8EngineProxy *engine, NativeContext *context);
public extern static NativeContext *DeleteContext64(NativeContext *context);
internal Context(NativeContext *nativeContext) { _NativeContext = nativeContext; }