소스 검색

Fixed potential dead-lock in connection_close()

This was posted by Morgan McGuire.
Thomas Davis 11 년 전
부모
커밋
55c27d4751
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/civetweb.c

+ 2 - 2
src/civetweb.c

@@ -5326,12 +5326,12 @@ static void close_socket_gracefully(struct mg_connection *conn)
 
 static void close_connection(struct mg_connection *conn)
 {
-    mg_lock(conn);
-
     // call the connection_close callback if assigned
     if (conn->ctx->callbacks.connection_close != NULL)
         conn->ctx->callbacks.connection_close(conn);
 
+    mg_lock(conn);
+
     conn->must_close = 1;
 
 #ifndef NO_SSL