Linux下select调用的过程: 1.用户层应用程序调用select(),底层调用poll()) 2.核心层调用sys_select() ------> do_select() 最终调用文件描述符fd对应的struct file类型变量的struct file_operations *f_op的poll函数。 poll指向的函数返回当前可否读写的信息。 1)如果当前可读写,返回读写信息。 2)如果当前不可读写,则阻塞进程,并等待驱动程序唤醒,重新调用poll函数,或超时返回。 3.驱动需要实现poll函数。 当驱动发现有数据可...
by yanyue - Linux文档专区 - 2007-06-17 20:03:04 阅读(440) 回复(0)
创建了一个存储过程, 输入参数是A, 返回参数是B, 类型都是char(20)型的 想通过select语句得到这个存储过程的返回参数, 这个select语句该怎么写? 因为不能动ec的底层库了,而这个库又没有执行存储过程的接口函数, 只有查询语句接口,所以想通过select语句,象得到一个列一样,得到存储过程的返回值。 谢谢! [ 本帖最后由 kunson 于 2006-12-10 04:05 编辑 ]
以前是在ASA中,定义如下: create Function f_get_custsname(in @custno char(10)) returns char(20) begin declare @custsname char(20); select custsname into @custsname from customer where custno = @custno; return @custsname; end 然后在另外的select中就可以用: select a.doccno , f_get_custsname(a.custno) as custsname from tablename as a where ... 现在转到Sybase,好象没有办法做到啊? 哪位大哥可以教一下...
比如像这个过程: create procedure agent.xcount_tel @p_bid int,@p_flag int as begin select count(*) from agent.tb_ob_tel where iflag=@p_flag and fore_id=@p_bid return @@rowcount end 在下面的视图被调用: create view agent.v_ob_bdl_sms (bid,fore_id,vscount) as select x0.bid ,x0.fore_id, (agent.xcount_sm x0.bid ,4 ) from agent.tb_ob_bundle x0 where (x0.bouttype = 3 ) 我就是想知道...
大家好,今天学习c语言select调用,有个问题求解。
环境:REHL AS 4
select()的调用形式为:
#include
select 系统调用: select系统调用是用来监视多个文件句柄的状态的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变,或者到了超时时间。 具体的select系统调用的参数可以看看man手册里面的说明,这里我们用一个用户空间的事例来解释说明一下这个系统调用的用法: int main(void) { int fd1,fd2,max_fd; int i; fd_set fdR; struct timeval timeout; //...
select系统调用是用来让我们的程序监视多个文件句柄(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在 Linux 里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descrīptor for the new socket is returned.”而man 2 open可以看到“open() and creat() return the ne...
在应用中经常调用selec函数实现多路访问,select函数的实现依赖与驱动的 xxx_poll函数。在xxx_poll函数中,核心的函数是poll_wait函数。在网上查了很多资料,发现轮询的操作依赖于select和poll_wait函数的配合。网上对poll函数是这样解释的:
本帖最后由 chllcy 于 2011-04-21 12:38 编辑 各位老鸟,在进行select(s+1, &fds, 0, 0, &timeout) 系统调用时返回0. 用的是datareel的gxSocket.cpp实现。 代码大概如下:[code] gxsTelnetClient telnetc; memset(sbuf,0x00,sbuf_size); telnetc.RecvString(sbuf, sbuf_size, "login"); CheckError(&telnetc,"wait login"); telnetc.SendString(user.c_str(), user.length()); CheckError(&telnetc,"s...