diff --git a/src/core/nginx.c b/src/core/nginx.c
index 3e3a072..a401ef0 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -176,17 +176,17 @@
     if (ccf->pid.len == 0) {
         ccf->pid.len = sizeof(NGINX_PID) - 1;
         ccf->pid.data = NGINX_PID;
-        ccf->newpid.len = sizeof(NGINX_NEW_PID) - 1;
-        ccf->newpid.data = NGINX_NEW_PID;
+        ccf->newpid.len = sizeof(NGINX_NEWPID) - 1;
+        ccf->newpid.data = NGINX_NEWPID;
 
     } else {
-        ccf->newpid.len = ccf->pid.len + sizeof(NGINX_NEW_PID_EXT);
+        ccf->newpid.len = ccf->pid.len + sizeof(NGINX_NEWPID_EXT);
         if (!(ccf->newpid.data = ngx_alloc(ccf->newpid.len, cycle->log))) {
             return 1;
         }
 
         ngx_memcpy(ngx_cpymem(ccf->newpid.data, ccf->pid.data, ccf->pid.len),
-                   NGINX_NEW_PID_EXT, sizeof(NGINX_NEW_PID_EXT));
+                   NGINX_NEWPID_EXT, sizeof(NGINX_NEWPID_EXT));
     }
 
     len = ngx_snprintf((char *) pid, /* STUB */ 10, PID_T_FMT, ngx_getpid());
diff --git a/src/core/nginx.h b/src/core/nginx.h
index 61a6f50..7d75537 100644
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -5,8 +5,8 @@
 #define NGINX_VER          "nginx/0.0.3"
 #define NGINX_CONF         (u_char *) "nginx.conf"
 #define NGINX_PID          "nginx.pid"
-#define NGINX_NEW_PID_EXT  ".newbin"
-#define NGINX_NEW_PID      NGINX_PID NGINX_NEW_PID_EXT
+#define NGINX_NEWPID_EXT   ".newbin"
+#define NGINX_NEWPID       NGINX_PID NGINX_NEWPID_EXT
 
 #define NGINX_VAR          "NGINX"
 
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index be0d8f1..d57041e 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -30,6 +30,7 @@
     ngx_cycle_t      *cycle, **old;
     ngx_socket_t      fd;
     ngx_open_file_t  *file;
+    ngx_core_conf_t  *ccf;
     ngx_listening_t  *ls, *nls;
 
     log = old_cycle->log;
@@ -126,6 +127,8 @@
 
     failed = 0;
 
+
+
     file = cycle->open_files.elts;
     for (i = 0; i < cycle->open_files.nelts; i++) {
         if (file[i].name.data == NULL) {
@@ -371,6 +374,91 @@
 }
 
 
+static ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle)
+{
+    size_t             len;
+    u_char             pid[NGX_INT64_LEN + 1];
+    ngx_str_t          name;
+    ngx_core_conf_t   *ccf;
+
+    ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
+
+    if (ctx->pid.len) {
+        if (ccf->pid.len == 0) {
+            return NGX_OK;
+        }
+
+        if (ctx->pid.len == ccf->pid.len
+            && ngx_strcmp(ctx->pid.data, ccf->pid.data) == 0)
+        {
+            return NGX_OK;
+        }
+    }
+    
+    if (ccf->pid.len == 0) {
+        ccf->pid.len = sizeof(NGINX_PID) - 1;
+        ccf->pid.data = NGINX_PID;
+        ccf->newpid.len = sizeof(NGINX_NEWPID) - 1;
+        ccf->newpid.data = NGINX_NEWPID;
+
+    } else {
+        ccf->newpid.len = ccf->pid.len + sizeof(NGINX_NEWPID_EXT);
+        if (!(ccf->newpid.data = ngx_alloc(ccf->newpid.len, cycle->log))) {
+            return NGX_ERROR;
+        }
+
+        ngx_memcpy(ngx_cpymem(ccf->newpid.data, ccf->pid.data, ccf->pid.len),
+                   NGINX_NEWPID_EXT, sizeof(NGINX_NEWPID_EXT));
+    }
+
+    len = ngx_snprintf((char *) pid, NGX_INT64_LEN + 1, PID_T_FMT, ngx_pid);
+    ngx_memzero(&ctx->pid, sizeof(ngx_file_t));
+    ctx->pid.name = ngx_inherited ? ccf->newpid : ccf->pid;
+    ctx->name = ccf->pid.data;
+
+    ctx->pid.fd = ngx_open_file(ctx->pid.name.data, NGX_FILE_RDWR,
+                                NGX_FILE_CREATE_OR_OPEN);
+
+    if (ctx->pid.fd == NGX_INVALID_FILE) {
+        ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
+                      ngx_open_file_n " \"%s\" failed", ctx->pid.name.data);
+        return NGX_ERROR;
+    }
+
+    if (ngx_write_file(&ctx->pid, pid, len, 0) == NGX_ERROR) {
+        return NGX_ERROR;
+    }
+
+    if (ngx_close_file(ctx->pid.fd) == NGX_FILE_ERROR) {
+        ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                      ngx_close_file_n " \"%s\" failed", ctx->pid.name.data);
+    }
+
+    return NGX_OK;
+}
+
+
+static void ngx_delete_pidfile(ngx_cycle_t *cycle)
+{   
+    u_char           *name;
+    ngx_core_conf_t  *ccf;
+
+    ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
+
+    if (ngx_inherited && getppid() > 1) {
+        name = ccf->newpid.data;
+
+    } else { 
+        name = ccf->pid.data;
+    }
+
+    if (ngx_delete_file(name) == NGX_FILE_ERROR) {
+        ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                      ngx_delete_file_n " \"%s\" failed", name);
+    }
+}
+
+
 void ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user)
 {
     ngx_fd_t          fd;
diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c
index 7923a02..7efa5c8 100644
--- a/src/event/ngx_event_acceptex.c
+++ b/src/event/ngx_event_acceptex.c
@@ -46,8 +46,7 @@
 
     ngx_event_post_acceptex(c->listening, 1);
 
-    /* TODO: MT */
-    c->number = ngx_connection_counter++;
+    c->number = ngx_atomic_inc(ngx_connection_counter);
 
     c->listening->handler(c);
 
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 2797670..1b10cfc 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -12,6 +12,8 @@
 static int ngx_worker_thread_cycle(void *data);
 #endif
 
+static void ngx_delete_pidfile(ngx_cycle_t *cycle);
+
 
 ngx_int_t     ngx_process;
 ngx_pid_t     ngx_pid;
@@ -336,21 +338,10 @@
 
 static void ngx_master_exit(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
 {
-    u_char  *name;
-
-    if (ngx_inherited && getppid() > 1) {
-        name = ctx->pid.name.data;
-
-    } else {
-        name = ctx->name;
-    }
-
-    if (ngx_delete_file(name) == NGX_FILE_ERROR) {
-        ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
-                      ngx_delete_file_n " \"%s\" failed", name);
-    }
+    ngx_delete_pidfile(cycle);
 
     ngx_log_error(NGX_LOG_INFO, cycle->log, 0, "exit");
+
     exit(0);
 }
 
@@ -535,31 +526,44 @@
 #endif
 
 
-static ngx_int_t ngx_create_pid_file(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
+static ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
 {
     size_t             len;
     u_char             pid[NGX_INT64_LEN + 1];
+    ngx_str_t          name;
     ngx_core_conf_t   *ccf;
 
     ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
 
+    if (ctx->pid.len) {
+        if (ccf->pid.len == 0) {
+            return NGX_OK;
+        }
+
+        if (ctx->pid.len == ccf->pid.len
+            && ngx_strcmp(ctx->pid.data, ccf->pid.data) == 0)
+        {
+            return NGX_OK;
+        }
+    }
+
     if (ccf->pid.len == 0) {
         ccf->pid.len = sizeof(NGINX_PID) - 1;
         ccf->pid.data = NGINX_PID;
-        ccf->newpid.len = sizeof(NGINX_NEW_PID) - 1;
-        ccf->newpid.data = NGINX_NEW_PID;
+        ccf->newpid.len = sizeof(NGINX_NEWPID) - 1;
+        ccf->newpid.data = NGINX_NEWPID;
 
     } else {
-        ccf->newpid.len = ccf->pid.len + sizeof(NGINX_NEW_PID_EXT);
+        ccf->newpid.len = ccf->pid.len + sizeof(NGINX_NEWPID_EXT);
         if (!(ccf->newpid.data = ngx_alloc(ccf->newpid.len, cycle->log))) {
             return NGX_ERROR;
         }
 
         ngx_memcpy(ngx_cpymem(ccf->newpid.data, ccf->pid.data, ccf->pid.len),
-                   NGINX_NEW_PID_EXT, sizeof(NGINX_NEW_PID_EXT));
+                   NGINX_NEWPID_EXT, sizeof(NGINX_NEWPID_EXT));
     }
 
-    len = ngx_snprintf((char *) pid, /* STUB */ 10, PID_T_FMT, ngx_getpid());
+    len = ngx_snprintf((char *) pid, NGX_INT64_LEN + 1, PID_T_FMT, ngx_pid);
     ngx_memzero(&ctx->pid, sizeof(ngx_file_t));
     ctx->pid.name = ngx_inherited ? ccf->newpid : ccf->pid;
     ctx->name = ccf->pid.data;
@@ -584,3 +588,24 @@
 
     return NGX_OK;
 }
+
+
+static void ngx_delete_pidfile(ngx_cycle_t *cycle)
+{
+    u_char           *name;
+    ngx_core_conf_t  *ccf;
+
+    ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
+
+    if (ngx_inherited && getppid() > 1) {
+        name = ccf->newpid.data;
+
+    } else {
+        name = ccf->pid.data;
+    }
+
+    if (ngx_delete_file(name) == NGX_FILE_ERROR) {
+        ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                      ngx_delete_file_n " \"%s\" failed", name);
+    }
+}
