2017-07-24 4 views
2

Die Version von GNUTLS ist 3.5. Ich möchte einen untergeordneten Thread zum Handshake mit dem Remote-Peer verwenden. In meinem Kind-Thread verwende ich einfach gnutls_handshake().Thread-Sicherheit in GNUTLS

  1. Im Muttergewinde, kann ich pthread_cancel() verwende das Kind Thread-Sicherheit unabhängig von dem aktuellen Handshake-Zustand zu beenden?

  2. Wenn ich die Zug-/pull_timeout/Push-Funktionen registriert haben mit pthread_cleanup_push/pthread_cleanup_pop, kann ich das Kind Thread kündigen?

Antwort

0

Ich habe Nikos Mavrogiannopoulos per E-Mail (aktuelle Maintainer gnutls), seine Antwort wie folgt:

gnutls Funktionen wurden nie als Pthread Stornierung Punkte entworfen. I habe nicht so viel gedacht, aber ich glaube, Ihr Hauptanliegen ist Speicher Lecks richtig? Es kann sein, dass wenn Sie die Sitzung in einem anderen Thread freigeben, kann es einfach funktionieren; obwohl Sie möglicherweise einen Stresstest dafür erstellen müssen, um zu überprüfen, dass dies möglich ist.

Verwandte Themen