diff --git a/dap-sdk/net/client/dap_client_pvt.c b/dap-sdk/net/client/dap_client_pvt.c
index 8486ad41fd2828ab2438e5fe55ff7e49439c1005..eea06da02990a4486f604601bf423fed74ead038 100644
--- a/dap-sdk/net/client/dap_client_pvt.c
+++ b/dap-sdk/net/client/dap_client_pvt.c
@@ -479,6 +479,8 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
             a_client_pvt->stream_es = dap_events_socket_wrap_no_add(a_client_pvt->events,
                     a_client_pvt->stream_socket, &l_s_callbacks);
             dap_worker_t * l_worker = dap_events_worker_get_auto();
+            assert(l_worker);
+            assert(l_worker->_inheritor);
             a_client_pvt->stream_worker = DAP_STREAM_WORKER(l_worker);
             // add to dap_worker
             dap_events_socket_assign_on_worker_mt(a_client_pvt->stream_es, l_worker);
@@ -490,7 +492,7 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
 
             // new added, whether it is necessary?
             a_client_pvt->stream->session->key = a_client_pvt->stream_key;
-            a_client_pvt->stream_worker = (dap_stream_worker_t*) l_worker->_inheritor;
+            a_client_pvt->stream->stream_worker = a_client_pvt->stream_worker;
 
 
             // connect
@@ -511,8 +513,8 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
                         sizeof(struct sockaddr_in))) != -1) {
                     a_client_pvt->stream_es->flags &= ~DAP_SOCK_SIGNAL_CLOSE;
                     //s_set_sock_nonblock(a_client_pvt->stream_socket, false);
-                    log_it(L_INFO, "Remote address connected (%s:%u) with sock_id %d", a_client_pvt->uplink_addr,
-                            a_client_pvt->uplink_port, a_client_pvt->stream_socket);
+                    log_it(L_INFO, "Remote address connected (%s:%u) with sock_id %d (assign on worker #%u)", a_client_pvt->uplink_addr,
+                            a_client_pvt->uplink_port, a_client_pvt->stream_socket, l_worker->id);
                     a_client_pvt->stage_status = STAGE_STATUS_DONE;
                 }
                 else {
@@ -549,7 +551,7 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
 
             const char *l_add_str = "";
 
-            dap_events_socket_write_f_mt(a_client_pvt->stream_es->worker, a_client_pvt->stream_es, "GET /%s HTTP/1.1\r\n"
+            dap_events_socket_write_f_mt(a_client_pvt->stream_worker->worker, a_client_pvt->stream_es, "GET /%s HTTP/1.1\r\n"
                                                                 "Host: %s:%d%s\r\n"
                                                                 "\r\n",
                                        l_full_path, a_client_pvt->uplink_addr, a_client_pvt->uplink_port, l_add_str);
diff --git a/dap-sdk/net/core/dap_worker.c b/dap-sdk/net/core/dap_worker.c
index ff88a74640a5f3550458ea6106ff6cae4ea5ee16..79371f667e94068fb0d7f051abc059c949298a22 100644
--- a/dap-sdk/net/core/dap_worker.c
+++ b/dap-sdk/net/core/dap_worker.c
@@ -78,7 +78,7 @@ void *dap_worker_thread(void *arg)
     dap_cpu_assign_thread_on(l_worker->id);
     struct sched_param l_shed_params;
     l_shed_params.sched_priority = 0;
-    pthread_setschedparam(pthread_self(),SCHED_FIFO ,&l_shed_params);
+    pthread_setschedparam(pthread_self(),SCHED_OTHER ,&l_shed_params);
 
     l_worker->queue_es_new = dap_events_socket_create_type_queue_ptr_unsafe( l_worker, s_queue_new_es_callback);
     l_worker->queue_es_delete = dap_events_socket_create_type_queue_ptr_unsafe( l_worker, s_queue_delete_es_callback);