I have usually heard that it is a good idea to unlock any locks before calling event listeners to avoid deadlock. However, since the lock {}
block is reentrant by the same thread in C#, is it OK to call events from a locked block or do I need to make a copy of the relevant state data and invoke the event outside the lock block?
If not, please give an example of when it would be a problem to call an event from within a lock {}
block.
Thanks