single thread event driven 코드라 문제생길 가능성은 없지만 링크드 리스트를 사용할때에는 깨지지 않도록 방어적을 코딩하는 습관이 좋습니다. insert만 대충보고 고쳤는데 delete도 맞춰서 고쳐야될것 같습니다.(더 자세히 살펴보진 않았음)
그리고 https://github.com/luzluna/bluechat/blob/master/server/server.c#L204 에 read가 message 전체가 다 성공적으로 받아질꺼라고 가정하고 만들었는데 그거 보장 못합니다. 메시지가 두조각으로 쪼개져서 올 경우에는 문제가 생기게 됩니다.
반대로 2개의 메시지가 동시에 받아질 수도 있구요. 현 코드상으론 뒤의 메시지는 잃어버리겠네요...