<div dir="ltr"><div><div><div><div>In my program, the main thread is to loop "enet_host_service" for receiving enet packets<br></div>other threads are used to process some data and will send enet packets by "enet_packet_send"<br></div>Dose this design cause Critical Section in enet list data structure?<br>--------------------------------------------------------------------------------<br>enet_list_insert (ENetListIterator position, void * data)<br>{<br>   ENetListIterator result = (ENetListIterator) data;<br><br>   result -> previous = position -> previous;<br>   result -> next = position;<br><br>   result -> previous -> next = result;<br>   position -> previous = result;<br><br>   return result;<br>}<br><br>void *<br>enet_list_remove (ENetListIterator position)<br>{<br>   position -> previous -> next = position -> next;<br>   position -> next -> previous = position -> previous;<br><br>   return position;<br>}<br>---------------------------------------------------------------------------------</div>If yes, how do i avoid that? Does anyone fork enet to deal with this?<br></div>Thanks a lot!<br></div>