hewei.it 5 år sedan
förälder
incheckning
1191f5748e
2 ändrade filer med 9 tillägg och 6 borttagningar
  1. 5 2
      base/hbase.h
  2. 4 4
      event/nio.c

+ 5 - 2
base/hbase.h

@@ -24,8 +24,11 @@ HV_EXPORT void  safe_free(void* ptr);
 
 
 #define HV_FREE(ptr)\
 #define HV_FREE(ptr)\
     do {\
     do {\
-        safe_free(ptr);\
-        printd("free( %p )\tat [%s:%d:%s]\n", ptr, __FILE__, __LINE__, __FUNCTION__);\
+        if (ptr) {\
+            safe_free(ptr);\
+            printd("free( %p )\tat [%s:%d:%s]\n", ptr, __FILE__, __LINE__, __FUNCTION__);\
+            ptr = NULL;\
+        }\
     } while(0)
     } while(0)
 
 
 HV_EXPORT long hv_alloc_cnt();
 HV_EXPORT long hv_alloc_cnt();

+ 4 - 4
event/nio.c

@@ -192,7 +192,7 @@ read:
         }
         }
         else {
         else {
             io->error = socket_errno();
             io->error = socket_errno();
-            /* perror("read"); */
+            // perror("read");
             goto read_error;
             goto read_error;
         }
         }
     }
     }
@@ -253,7 +253,7 @@ write:
         }
         }
         else {
         else {
             io->error = socket_errno();
             io->error = socket_errno();
-            /* perror("write"); */
+            // perror("write");
             goto write_error;
             goto write_error;
         }
         }
     }
     }
@@ -384,7 +384,7 @@ try_write:
                 goto enqueue;
                 goto enqueue;
             }
             }
             else {
             else {
-                /* perror("write"); */
+                // perror("write");
                 io->error = socket_errno();
                 io->error = socket_errno();
                 goto write_error;
                 goto write_error;
             }
             }
@@ -401,9 +401,9 @@ try_write:
             //goto write_done;
             //goto write_done;
             return nwrite;
             return nwrite;
         }
         }
+enqueue:
         hio_add(io, hio_handle_events, HV_WRITE);
         hio_add(io, hio_handle_events, HV_WRITE);
     }
     }
-enqueue:
     if (nwrite < len) {
     if (nwrite < len) {
         offset_buf_t rest;
         offset_buf_t rest;
         rest.len = len;
         rest.len = len;