当前位置:  技术问答>linux和unix

程序执行到read的时候不动了是怎么回事?

    来源: 互联网  发布时间:2016-02-15

    本文导语:  大家好,我又来了,呵呵。 前几天在“内核与驱动研究区”问了200多分的问题,终于把comedi驱动给装上去了,今天运行程序的时候又遇到问题了,再来问一下。 具体是这样的,我终于找到comedi设定板卡采样率的函数...

大家好,我又来了,呵呵。
前几天在“内核与驱动研究区”问了200多分的问题,终于把comedi驱动给装上去了,今天运行程序的时候又遇到问题了,再来问一下。
具体是这样的,我终于找到comedi设定板卡采样率的函数了,设定好之后,通过comedi_fileno()得到一个read和write能识别的整型描述符(integer descriptor ),然后通过read(comedi_fileno(dev),buf,BUFSZ)读取数据。
可是每次执行到read这一句的时候就卡着不动了,不管是我自己写的程序还是comedi提供的示例程序,都是这样,用GDB调试过,可是我只会几个简单的操作,一路“S”到这一步,发现程序执行不动了,也就没有办法了。
各位高手帮忙看看,这个可能是什么问题?或者可以用什么方法调试来查找问题呢?

|
read默认的是阻塞方式读取数据.
你可以在open是加参数 O_NONBLOCK把它设置成非阻塞型,或则用select,来处理

|
你可以用select加以一个timeout的值, 每次读之前先select一下,
确保有数据可读。 select回阻塞到有数据为止。 它不用轮询的方式来看数据有无,所以也不会浪费CPU时间。

|
你要read的那个缓存中没有数据吧.

|
阻塞了吧

    
 
 

您可能感兴趣的文章:

  • 我想问:我装了xmms,但在程序菜单中找不到,运行"xmms"说找不到该程序,卸载它时又 死掉了,怎么回事啊?
  • Fedora 16系统,装了新的程序,系统重启就没了。怎么回事?
  • 程序能编译,但是不能运行,怎么回事?
  • 点击互联网->更多互联网应用程序->gaim 无反应,怎么回事啊?
  • UNIX下C程序编译成功后运行出错,怎么回事?
  • 在redhat5下安装一个应用程序出现以下错误是怎么回事?
  • 如果加上rs.updateRow();程序就很久多没有反映,请问这怎么回事???
  • 程序莫名其妙被Kill掉,一点提示信息都没有,是怎么回事?我该如何看到程序出错的信息?
  • 我有一个linux下的c程序,每次运行时cpu都要占用90%左右,怎么回事?
  • 我的程序出现Segmentation fault是怎么回事??
  • unix操作系统上的socket服务器端程序在调用bind涵数的时候报错,是怎么回事了?
  • 我 的helloworld程序遇到下面的错误是怎么回事?
  • 使用gcc编译一个程序a.c成a.out,输入a.out运行,提示bash:a.out:command not found,咋回事?
  • 在redhat9.0的终端上,执行用gcc编译的c++程序,没有任何输出,这是怎么回事?
  • unix shell 下进程的命令行参数与源程序 main函数的入口参数 是同一回事吗? 第一次编 .sh 文件,哪一位肯帮忙?
  • 下面这个程序编译不通,怎么回事?提示public Connection { 出错!
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • 用jdk能运行的程序,在jbuilder6中打开后,点右键在菜单中选择run后,却出现错误,这是怎么回事??????
  • shell程序中报错--test: argument expected怎么回事???
  • 一个简单的程序,编译可以通过但是,不出现结果,错误提示为无数个at Test.<init>(TestNonStatic.java:8),怎么回事
  • linux下通过crond实现自动执行程序
  • 怎么在一个程序的执行过程中中止执行它?比如一个按钮的响应程序中,执行一半中止??20分!!!
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 如何在程序中执行另外一个程序,并且当前进程依然执行?
  • 先 fork 子进程然后 execl 另一个可执行程序, 如何得到这个可执行程序结束的返回值?
  • 怎么在java程序中执行系统命令或其他可执行程序(像批处理一样)?
  • 为什么执行完execlp函数后程序就退出了,怎样才能让程序继续执行后面的代码
  • 为什么在图形界面下执行一个可执行程序,老是说找不到该程序,而在字符界面下却ok?
  • 在一个终端运行一个执行时间很长的程序中如何让这个程序切换到后台执行?
  • 请教可执行程序的执行问题
  • 执行当前目录下可执行程序时前面必须要加上./才可以,如何解决?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个崩溃程序,什么时候有core,什么时候没core
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 我们平时在写程序的时候应该注意什么?才能让C程序的指针不会那么容易跑飞!!
  • 请问:你们的程序都怎样关闭数据库?是在每次出现异常的时候吗?还是在一段程序结束后?
  • gdb 在调试程序时候提示Missing separate debuginfos
  • 求助 如何取消fedora 8启动时候的欢迎应用程序
  • linux 启动的时候运行程序
  • redhat9如何配置,实现在用户登陆的时候自动执行指定程序。
  • 请问有没有办法让程序在崩溃的时候自启动
  • 红旗LInux里面安装程序的时候的make命令
  • 怎样让系统启动的时候将一个程序运行?
  • LINUX中执行一个程序的时候出现的错
  • 为什么在图形界面下执行一个可执行程序,老是说找不到该程序,而在字符界面下却ok? iis7站长之家
  • 用Redhat7.3下的Emacs,请问调试编译程序的时候,有无象msdn那样的东西
  • 怎样让系统启动时候,可以运行我的程序,Linux下。
  • 最近程序老是在malloc或者free内存的时候崩溃或者失去响应,请教高手。
  • 编译JAVA程序的时候,如果需要的JAR不在CLASSPATH,有什么办法能成功编译吗???
  • 请问在编写Java小应用程序的时候,有些功能用JavaScript实现是否可以提高效率呢?
  • 搜索别的的时候,发现了这个:“将 MFC 应用程序移植到 Linux”
  • linux 启动的时候 可以检查出很多设备 并给设备配以驱动程序
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • http协议介绍,文件上传分析及程序举例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3