瀏覽代碼

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