diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/.wsuo b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/.wsuo index 4320a4e..f632e9b 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/.wsuo and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/.wsuo differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db index f9865ac..672153b 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-shm b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-shm index eca15c1..f4332c9 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-shm and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-shm differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-wal b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-wal index e69de29..bed9a18 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-wal and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/Browse.VC.db-wal differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/DocumentLayout.json b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/DocumentLayout.json index 5f97aad..fa284bc 100644 --- a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/DocumentLayout.json +++ b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/DocumentLayout.json @@ -2,24 +2,20 @@ "Version": 1, "WorkspaceRootPath": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\", "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:network_utils.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, { "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Listener_server.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:network_utils.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, { "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:network_utils.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, { "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|CMake Overview Pages||{B1CAA5B0-FEB1-4350-8AB9-F895876842F2}" - }, - { - "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\CMakeLists.txt||{8B382828-6202-11D1-8870-0000F87579D2}", - "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:CMakeLists.txt||{8B382828-6202-11D1-8870-0000F87579D2}" } ], "DocumentGroupContainers": [ @@ -29,7 +25,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 2, + "SelectedChildIndex": 3, "Children": [ { "$type": "Bookmark", @@ -45,31 +41,30 @@ "RelativeToolTip": "network_utils.h", "ViewState": "AQIAAA8AAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-15T10:41:05.002Z", - "EditorCaption": "" + "WhenOpened": "2024-03-15T10:41:05.002Z" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 1, "Title": "network_utils.c", "DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c", "RelativeDocumentMoniker": "network_utils.c", "ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c", "RelativeToolTip": "network_utils.c", - "ViewState": "AQIAADkAAAAAAAAAAAAAAEcAAAAuAAAA", + "ViewState": "AQIAABgAAAAAAAAAAAAAAAcAAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|", "WhenOpened": "2024-03-15T10:40:54.851Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 0, "Title": "Listener_server.c", "DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c", "RelativeDocumentMoniker": "Listener_server.c", "ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c", "RelativeToolTip": "Listener_server.c", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAAAAAA", + "ViewState": "AQIAACEAAAAAAAAAAAAAAAwAAAALAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|", "WhenOpened": "2024-03-15T05:44:00.942Z", "EditorCaption": "" @@ -82,19 +77,6 @@ "ToolTip": "CMake Overview Pages", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|", "WhenOpened": "2024-03-15T05:40:27.357Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "CMakeLists.txt", - "DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\CMakeLists.txt", - "RelativeDocumentMoniker": "CMakeLists.txt", - "ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\CMakeLists.txt", - "RelativeToolTip": "CMakeLists.txt", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|", - "WhenOpened": "2024-03-15T10:40:32.199Z", - "EditorCaption": "" } ] } diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/4ea875e9c5390c5c/NETWORK_UTILS.ipch b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/4ea875e9c5390c5c/NETWORK_UTILS.ipch index 37ad008..6286979 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/4ea875e9c5390c5c/NETWORK_UTILS.ipch and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/4ea875e9c5390c5c/NETWORK_UTILS.ipch differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/ad4af5e335c3f5f4/NETWORK_UTILS.ipch b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/ad4af5e335c3f5f4/NETWORK_UTILS.ipch index 87e82b3..0d66cd0 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/ad4af5e335c3f5f4/NETWORK_UTILS.ipch and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/Listener_server/v17/ipch/AutoPCH/ad4af5e335c3f5f4/NETWORK_UTILS.ipch differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/VSWorkspaceState.json b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/VSWorkspaceState.json index ec6161e..fdac6bd 100644 --- a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/VSWorkspaceState.json +++ b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/VSWorkspaceState.json @@ -25,5 +25,6 @@ "ExpandedNodes": [ "" ], + "SelectedNode": "\\network_utils.h", "PreviewInSolutionExplorer": false } \ No newline at end of file diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/linux-debug/Ubuntu.scan.fgp.copy b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/linux-debug/Ubuntu.scan.fgp.copy index 80d9129..afb996e 100644 --- a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/linux-debug/Ubuntu.scan.fgp.copy +++ b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/linux-debug/Ubuntu.scan.fgp.copy @@ -1,6 +1,6 @@ 1071467557 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\CMakeLists.txt 1015371089 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\CMakePresets.json -1002866260 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\Listener_server.c --1617246206 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\network_utils.c +428312187 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\Listener_server.c +1110334189 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\network_utils.c -2022489816 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\network_utils.h --536376222 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\ +1220180381 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/slnx.sqlite b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/slnx.sqlite index 0d29a3d..c8aea97 100644 Binary files a/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/slnx.sqlite and b/ThreadCancellation_async/Listener_Thread/Listener_server/.vs/slnx.sqlite differ diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/Listener_server.c b/ThreadCancellation_async/Listener_Thread/Listener_server/Listener_server.c index 04ef4b8..f0a9beb 100644 --- a/ThreadCancellation_async/Listener_Thread/Listener_server/Listener_server.c +++ b/ThreadCancellation_async/Listener_Thread/Listener_server/Listener_server.c @@ -10,7 +10,7 @@ pkt_recv_fn( uint32_t port_no ) { - printf("%s() : pkt recvd = %s, pkt size = %u\n", + printf("\n%s() : pkt recvd = %s, pkt size = %u\n", __FUNCTION__, pkt, pkt_size); } @@ -34,6 +34,30 @@ main(int argc, char** argv) { pkt_recv_fn ); + int th_no,cnt = 0; + while (1) { + printf("Listener thread you can cancel [ 1 - 2 ]:"); + scanf("%d", &th_no); + getchar(); + + switch (th_no) { + + case 1: + pthread_cancel((*listener1)); + break; + case 2: + pthread_cancel((*listener2)); + break; + case 1000: + exit(EXIT_SUCCESS); + break; + default: + break; + + } + sleep(1); + } + pthread_exit(0); return 0; } \ No newline at end of file diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/network_utils.c b/ThreadCancellation_async/Listener_Thread/Listener_server/network_utils.c index 38abe87..a4fb992 100644 --- a/ThreadCancellation_async/Listener_Thread/Listener_server/network_utils.c +++ b/ThreadCancellation_async/Listener_Thread/Listener_server/network_utils.c @@ -81,6 +81,7 @@ _udp_server_create_and_start(void* arg) { MAX_PACKET_BUFFER_SIZE, 0, (struct sockaddr*)&client_addr, &addr_len); + recv_fn(recv_buffer, bytes_recvd, network_covert_ip_n_to_p( (uint32_t)htonl(client_addr.sin_addr.s_addr), 0), diff --git a/ThreadCancellation_async/Listener_Thread/Listener_server/out/Ubuntu/build/linux-debug/.cmake/api/v1/reply/index-2024-03-15T10-40-40-0624.json b/ThreadCancellation_async/Listener_Thread/Listener_server/out/Ubuntu/build/linux-debug/.cmake/api/v1/reply/index-2024-03-15T14-50-39-0147.json similarity index 100% rename from ThreadCancellation_async/Listener_Thread/Listener_server/out/Ubuntu/build/linux-debug/.cmake/api/v1/reply/index-2024-03-15T10-40-40-0624.json rename to ThreadCancellation_async/Listener_Thread/Listener_server/out/Ubuntu/build/linux-debug/.cmake/api/v1/reply/index-2024-03-15T14-50-39-0147.json