tags:

views:

38

answers:

1

DirectDraw 7 is very old APIs but we have a lot legacy code written on that.

Recently I found that directdraw might block on some of it's interface calls, like IDirectDrawSurface::Release, and never never return. But some times they don't.

I can not find any information by Google so I came here.

Hope you can help me or tell me where I can find help.

Thanks a lot.

A: 

A deadlock would imply that you are multi-threading DirectDraw? This isn't a safe plan. You should avoid doing it.

Apologies if this isn't the cause.

Goz
Yes, you are right. When a surface is "locked", any other call to any surface will be blocked until a surface is "unlocked". That caused a deadlock in my program.
ablmf