TerminateThread杀不死线程怎么办,总返回0
原因是WriteFile写串口发生阻塞,执行到哪里就不返回,TerminateThread也干不死那个线程

解决方案 »

  1.   

    失败以后你应该用GetLastError来获得错误码,直接问,别人也只能“猜测”
      

  2.   

    WriteFile会产生驱动服务请求 就会进入内核驱动级服务进程, 从用户级别自然是关不掉的,
    可以使用异步方式来操作,等待超时退出
      

  3.   

    楼主在写之前定义一个alarm,并设置下setjmp,如果超时就执行信号处理程序,通过longjmp跳出。
    在调试时楼主可以通过telnet到你板子上 发送KILL信号 “SIGKILL”,
    执行命令 kill -9 your_pid_num,-9 就是SIGKILL信号它是不可屏蔽信号,必杀。
      

  4.   

    最好不要用这种方式,先关闭closehandle再结束,如果结束的是窗口就用postmessage(WM_QUIT)用消息去关闭