on windows, Boundary makes an incorrect assumption about loop type
blucz opened this issue · comments
Brian Luczkiewicz commented
Using git version 05935cd
Unhandled Exception: System.TypeInitializationException: The type initializer for 'Manos.Threading.Boundary' threw an exception. ---> System.InvalidCastException: Unable to cast object of type 'Manos.Managed.ManagedLoop' to type 'Libev.LibEvLoop'.
at Manos.Threading.Boundary..ctor(IOLoop loop, Int32 maxWorkPerLoop) in c:\cygwin\home\brian\projects\tood\manos\upstream\src\Manos\Manos.Threading\Boundary.cs:line 47
at Manos.Threading.Boundary..ctor(IOLoop loop) in c:\cygwin\home\brian\projects\tood\manos\upstream\src\Manos\Manos.Threading\Boundary.cs:line 44
at Manos.Threading.Boundary..cctor() in c:\cygwin\home\brian\projects\tood\manos\upstream\src\Manos\Manos.Threading\Boundary.cs:line 36
--- End of inner exception stack trace ---
at Manos.Managed.Libeio.<>c__DisplayClass13.<open>b__10(Object a) in c:\cygwin\home\brian\projects\tood\manos\upstream\src\Manos\Manos.Managed\Libeio.cs:line 77
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
In a request handler, I attempted to use IHTTPResponse.SendFile("foo.html"). This exception seems to have occurred in a background thread while that was attempting to complete.
Jackson Harper commented
I don't have windows here to test, but this should be fixed.
Brian Luczkiewicz commented
Just tested..indeed it is. Thanks.