取消另一个线程中的线程

时间:2017-05-18 15:28:23

标签: c multithreading sockets ipc

我有一个多线程程序。我在main方法中所做的就是在客户端和服务器之间建立多个连接。

每个客户端都运行此线程。 现在这个线程中有另一个线程。

我想要做的是关闭线程末尾的连接。 这是我正在使用的代码。我不知道为什么它不起作用。有人可以帮帮我吗?

void *thread_function(void * sock_desc){

  //get the socket descriptor
  int sock = *(int*)sock_desc;
  int n;
  int * sock2 = malloc(4);
  *sock2 = sock;

  pthread_t update_thread;
  pthread_create(&update_thread, NULL, updater, (void*)sock2);
  //do something

  pthread_cancel(update_thread);
  close(sock); //close the connection
  free(sock_desc); 
  free(sock2);

  return (void *)0;

}//close thread_function()

0 个答案:

没有答案