Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Miroslav Sobotka 08. 06. 2011, 09:47:23

Název: SDL a mutexy
Přispěvatel: Miroslav Sobotka 08. 06. 2011, 09:47:23
Zdravím, snažím se napsat jeden program, multiplatformní, využívající SDL. Na kritickou sekci jsem zkoušel jak mutexy z knihovny pthread, tak z SDL. Problém nastává, pokud program spustím pod windows. Na Linuxu a Mac OS X se to chová podle očekávání, na Windows spadne. Pokud použiju mutexy z SDL, tedy:

Kód: [Vybrat]
SDL_mutex *mut;
if ( ( mut=SDL_CreateMutex() ) == NULL )
{
  fprintf(stderr, "Couldn't create mutex\n");
  exit(-1);
}
if( SDL_mutexP(mut) == -1 )
{
  fprintf(stderr, "Couldn't lock mutex\n");
  exit(-1);
}

program se ukončí a hlásí, že nelze zámek zamknout.
Otázka zní: Jak zamykat kritické sekce, nějak univerzálně? Případně, jak je možné, že se zámek nezamkne?

Díky moc za rady!