mirror of
https://github.com/Hizenberg469/MultiThreading_Part_A.git
synced 2026-04-20 02:22:23 +03:00
Listener thread with thread cancellation
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,24 +2,20 @@
|
|||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\",
|
"WorkspaceRootPath": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\",
|
||||||
"Documents": [
|
"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}",
|
"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}"
|
"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}",
|
"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}"
|
"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|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": [
|
"DocumentGroupContainers": [
|
||||||
@@ -29,7 +25,7 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 2,
|
"SelectedChildIndex": 3,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Bookmark",
|
"$type": "Bookmark",
|
||||||
@@ -45,31 +41,30 @@
|
|||||||
"RelativeToolTip": "network_utils.h",
|
"RelativeToolTip": "network_utils.h",
|
||||||
"ViewState": "AQIAAA8AAAAAAAAAAAAAAAAAAAAAAAAA",
|
"ViewState": "AQIAAA8AAAAAAAAAAAAAAAAAAAAAAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-03-15T10:41:05.002Z",
|
"WhenOpened": "2024-03-15T10:41:05.002Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 1,
|
||||||
"Title": "network_utils.c",
|
"Title": "network_utils.c",
|
||||||
"DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c",
|
"DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c",
|
||||||
"RelativeDocumentMoniker": "network_utils.c",
|
"RelativeDocumentMoniker": "network_utils.c",
|
||||||
"ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c",
|
"ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\network_utils.c",
|
||||||
"RelativeToolTip": "network_utils.c",
|
"RelativeToolTip": "network_utils.c",
|
||||||
"ViewState": "AQIAADkAAAAAAAAAAAAAAEcAAAAuAAAA",
|
"ViewState": "AQIAABgAAAAAAAAAAAAAAAcAAAAJAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|",
|
||||||
"WhenOpened": "2024-03-15T10:40:54.851Z",
|
"WhenOpened": "2024-03-15T10:40:54.851Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 0,
|
||||||
"Title": "Listener_server.c",
|
"Title": "Listener_server.c",
|
||||||
"DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c",
|
"DocumentMoniker": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c",
|
||||||
"RelativeDocumentMoniker": "Listener_server.c",
|
"RelativeDocumentMoniker": "Listener_server.c",
|
||||||
"ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c",
|
"ToolTip": "E:\\MultiThreading_Part_A\\ThreadCancellation_async\\Listener_Thread\\Listener_server\\Listener_server.c",
|
||||||
"RelativeToolTip": "Listener_server.c",
|
"RelativeToolTip": "Listener_server.c",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAAAAAA",
|
"ViewState": "AQIAACEAAAAAAAAAAAAAAAwAAAALAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|",
|
||||||
"WhenOpened": "2024-03-15T05:44:00.942Z",
|
"WhenOpened": "2024-03-15T05:44:00.942Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
@@ -82,19 +77,6 @@
|
|||||||
"ToolTip": "CMake Overview Pages",
|
"ToolTip": "CMake Overview Pages",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
||||||
"WhenOpened": "2024-03-15T05:40:27.357Z"
|
"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": ""
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -25,5 +25,6 @@
|
|||||||
"ExpandedNodes": [
|
"ExpandedNodes": [
|
||||||
""
|
""
|
||||||
],
|
],
|
||||||
|
"SelectedNode": "\\network_utils.h",
|
||||||
"PreviewInSolutionExplorer": false
|
"PreviewInSolutionExplorer": false
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
1071467557 E:\MultiThreading_Part_A\ThreadCancellation_async\Listener_Thread\Listener_server\CMakeLists.txt
|
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
|
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
|
428312187 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
|
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
|
-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\
|
||||||
|
|||||||
Binary file not shown.
@@ -10,7 +10,7 @@ pkt_recv_fn(
|
|||||||
uint32_t port_no
|
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);
|
__FUNCTION__, pkt, pkt_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,6 +34,30 @@ main(int argc, char** argv) {
|
|||||||
pkt_recv_fn
|
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);
|
pthread_exit(0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -81,6 +81,7 @@ _udp_server_create_and_start(void* arg) {
|
|||||||
MAX_PACKET_BUFFER_SIZE, 0,
|
MAX_PACKET_BUFFER_SIZE, 0,
|
||||||
(struct sockaddr*)&client_addr, &addr_len);
|
(struct sockaddr*)&client_addr, &addr_len);
|
||||||
|
|
||||||
|
|
||||||
recv_fn(recv_buffer, bytes_recvd,
|
recv_fn(recv_buffer, bytes_recvd,
|
||||||
network_covert_ip_n_to_p(
|
network_covert_ip_n_to_p(
|
||||||
(uint32_t)htonl(client_addr.sin_addr.s_addr), 0),
|
(uint32_t)htonl(client_addr.sin_addr.s_addr), 0),
|
||||||
|
|||||||
Reference in New Issue
Block a user