• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Frage an die Windows-Programmierer: Mutex freigeben

Mitglied seit
04.08.2002
Beiträge
1.869
Reaktionen
0
Moin.

Folgendes Problem: Ich erstelle mit der Windows-API Funktion "CreateMutex" ein Mutex-Objekt im Speicher.

Sobald meine Applikation beendet wird, wird das Mutex-Objekt automatisch zerstört.

Nun würde ich dieses aber gerne schon früher zerstören, und zwar während mein Programm noch läuft. Dafür muss ich wohl, wenn mich nicht alles täuscht, die Funktion "ReleaseMutex" verwenden.

Das Problem bei der Sache ist nur, dass "ReleaseMutex" nicht funktioniert, da mein Mutex-Handle offenbar das "MUTEX_MODIFY_STATE"-Flag nicht besitzt. Leider habe ich auch nach längerem Suchen bisher noch keinen Plan, wie genau ich dieses Flag setzen kann. Die MSDN hilft hier leider nicht wirklich weiter...

Also: Falls jemand sowas schonmal gemacht hat und eventuell irgendwo einen kleinen Codeschnipsel rumfliegen hat, der obiges tut, wäre ich für jede Hilfe dankbar.

Gruß
Markus

P.S.: Das Ganze soll in C / C++ realisiert werden.
 
Mitglied seit
03.08.2002
Beiträge
707
Reaktionen
0
hab leider kein plan mehr von windows, aber haste dir schonmal die funktion OpenMutex angeschaut?
 

The_Company

Guest
Ohne jemals Windows programmiert zu haben, nur mit anschauen von http://msdn2.microsoft.com/en-us/library/ms682411.aspx kommt da doch die RTFM Geschichte hoch.
Use the CloseHandle function to close the handle. The system closes the handle automatically when the process terminates. The mutex object is destroyed when its last handle has been closed.
Man haette natuerlich auch den Beispielcode auf http://msdn2.microsoft.com/en-us/library/ms686927.aspx ansehen koennen, aber dieses viele Links klicken immer...
 
Mitglied seit
04.08.2002
Beiträge
1.869
Reaktionen
0
Original geschrieben von The_Company
Ohne jemals Windows programmiert zu haben, nur mit anschauen von http://msdn2.microsoft.com/en-us/library/ms682411.aspx kommt da doch die RTFM Geschichte hoch.Man haette natuerlich auch den Beispielcode auf http://msdn2.microsoft.com/en-us/library/ms686927.aspx ansehen koennen, aber dieses viele Links klicken immer...

Ja, da hast Du wohl Recht - an der Stelle hab ich nicht genau genug gelesen...

Damit wäre das Problem gelöst.

:thx:
 

The_Company

Guest
Woah, nice Antwort.
Compa macht boesen Flame weil schlecht drauf und Du bedankst DIch trotzdem nett. Find ich echt nice. :top:
 
Mitglied seit
04.08.2002
Beiträge
1.869
Reaktionen
0
naja, was soll ich sagen...
hättest es schon netter schreiben können, aber immerhin hat's mir ja weitergeholfen, und darauf kommt's an :D
 
Oben