I have a function called ApiCalls() that is wrapped in a locker because the api I’m using is not multi-thread safe. Occasionally an api call fails to return and I can’t think of a way to handle this kind of situation. I was thinking about creating a timer on the lock object, but it seems the locker doesn’t not have something like that.
Share
There’s really no good answer for this. A bad, but probably workable, answer is to have a watchdog thread that Aborts the calling thread after a timeout. In other words, after acquiring the lock but before calling the API, you’d order the watchdog to kill you. When you get back from the call (if you get back), you’d call off the watchdog.
Again, this is not a great solution, as Abort is very messy.