Commit Graph

6 Commits

Author SHA1 Message Date
Tom Bannister
9257bacc72 Bug 1434710 - Replaced all instances of mozilla::IndexSequence, mozilla::MakeIndexSequence and mozilla::IndexSequenceFor with std::index_sequence, std::make_index_sequence and std::index_sequence_for and removed mfbt/IndexSequence.h. r=botond
MozReview-Commit-ID: 1Ema7TUNr5v
2018-04-09 21:12:13 +10:00
David Parks
3c2162ae77 Bug 1445471 - Recognize invalid HANDLEs in plugin brokering. r=jimm
When InternetOpenA, or some other brokered function that returns handles, fails, we should not return a valid HANDLE id.  We return an id of 0 instead.
2018-03-14 12:28:22 -07:00
David Parks
abc1a8467f Bug 1436253 - Fix NPAPI FunctionBroker condition variable concurrency issues. r=aklotz
The Monitor's Wait call is subject to spurious waking and needed a condition guard (I just use a boolean) to detect if it should not have been awakened.  Additionally, the ok value was being assigned after the Notify, despite it no longer being valid on this thread.
2018-02-06 21:35:44 -08:00
David Parks
5627a4792a Bug 1433855 - Make sure plugin function broker's PostToDispatchThread is Waiting before Notifying it. r=jimm
The Monitor's condition variable could be notified before the calling thread had begun to Wait for it.  This caused the Notify to be missed, leading to hangs.  By grabbing the Monitor in PostToDispatchHelper, we know Wait has been called because, otherwise, the calling thread would still hold the Monitor.
2018-01-30 17:32:27 -08:00
David Parks
2ba56a477f Bug 1382251: Part 9 - Hook functions needed for SSL communication in NPAPI process; r=jimm
Adds Win32 networking APIs to the function broker so that we can run SSL communications outside of the sandbox.
2017-11-06 10:41:21 -08:00
David Parks
e2b266b377 Bug 1382251: Part 7 - Add mechanism for automatically brokering DLL functions; r=jimm
The FunctionBroker is a special kind of FunctionHook that brokers the hooked function on another process.  In the child process, it uses the FunctionBrokerChild to request that the FunctionBrokerParent run a function and return the response.  It handles most cases of parameter, return value and error marshaling on its own.  It also guarantees that requests are issued from the proper thread.
2017-11-06 10:34:47 -08:00