- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个这样创建的文件句柄对象(为清楚起见略作编辑):
sub TIEHANDLE
{
return $_[0] if ref($_[0]);
my $class = shift;
my $self = bless Symbol::gensym(), $class;
return $self;
}
sub new
{
my ($class, $fh, $chunk, $interval, $cb) = @_;
my $self = bless Symbol::gensym(), ref($class) || $class;
tie *$self, $self;
my $data = {
fh => $fh,
};
${*$self}{'data'} = $data;
return $self;
}
sub fileno
{
my $self = $_[0];
return ${*$self}{'data'}->{'fh'}->fileno();
}
*FILENO = \&fileno;
我想将它与 AnyEvent
一起使用.它适用于 AnyEvent::Impl::Perl
但失败了 AnyEvent::Impl::EV
.我想我已经从 EV
追踪到这个方法:
static int
s_fileno (SV *fh, int wr)
{
dTHX;
SvGETMAGIC (fh);
if (SvROK (fh))
{
fh = SvRV (fh);
SvGETMAGIC (fh);
}
if (SvTYPE (fh) == SVt_PVGV)
return PerlIO_fileno (wr ? IoOFP (sv_2io (fh)) : IoIFP (sv_2io (fh)));
if (SvOK (fh) && (SvIV (fh) >= 0) && (SvIV (fh) < 0x7fffffffL))
return SvIV (fh);
return -1;
}
我认为它未通过 SvTYPE (fh) == SVt_PVGV
测试。使用 Devel::Peek
我得到的 Dump() 方法:
SV = PVMG(0x9c98460) at 0x44313b0
REFCNT = 1
FLAGS = (PADMY,ROK)
IV = 0
NV = 0
RV = 0x9c21d00
SV = PVGV(0x9c35510) at 0x9c21d00
REFCNT = 1
FLAGS = (OBJECT,RMG,MULTI)
MAGIC = 0x9a68ee0
MG_VIRTUAL = &PL_vtbl_backref
MG_TYPE = PERL_MAGIC_backref(<)
MG_OBJ = 0x9c217a8
STASH = 0x4374440 "MetadataStream"
NAME = "GEN5"
NAMELEN = 4
GvSTASH = 0x25d01c8 "Symbol"
GP = 0x9a43d50
SV = 0x0
REFCNT = 1
IO = 0x9c214a8
FORM = 0x0
AV = 0x0
HV = 0x9c21ce8
CV = 0x0
CVGEN = 0x0
LINE = 102
FILE = "/usr/share/perl5/Symbol.pm"
FLAGS = 0x2
EGV = 0x9c21d00 "GEN5"
PV = 0x9c21d00 ""
CUR = 0
LEN = 0
任何关于如何调整句柄的创建以使其能够通过此测试的帮助都将不胜感激。
最佳答案
绑定(bind)的文件句柄仅在 perl 中部分实现,并且不起作用与电动汽车。绑定(bind)句柄不能与事件库一起工作general:虽然某些特定情况可能有效,但在大多数情况下使用句柄,它们不能工作,因为一个的就绪通知底层文件描述符与就绪通知无关系紧的 Handlebars 。
如果您的目标只是对真实文件进行包装描述符,那么一种方法是复制 IO::Handle 和/或FileHandle 做(非常丑陋,但在 perl 中唯一有效的方法),或使用他们作为基类。这不允许你做有趣的事情例如 Hook 读取和写入,但 Hook 它们的机会使它们与事件库不兼容。
另一种方法是实现 perlio 层 (PerlIO::via)。在我的经验,这个模块有点脆弱,但给你所有的选项。同样,如果您引入缓冲或更有趣的东西将文件描述符与实际 I/O 分离,那么就不能工作。
最后,如果你想添加一个新类型的句柄,那么你可以创建一种新的观察者类型。这可以像拥有一个功能一样简单my_handle_io_watcher 获取您的句柄,检查是否准备就绪并创建所需的那种低级观察者。
关于perl - 在 EV (perl) 中使用合成文件句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24009981/
每个讨论:On active slide, append input 虽然我还没有弄清楚这一点,但我感觉很接近。我只是被难住了。代码看起来是正确的..但我仍然收到错误。特别是“slider.ev.on
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve th
我正在努力实现双指缩放代码。 我只是检查了 WinJS 语义缩放实现并找到了有趣的代码片段。 适用于 JavaScript 1.0/js/ui.js 的 Windows 库 行号:30710、3072
自 2 月起,GlobalSign 只颁发 EV 代码签名证书。这意味着代码签名必须使用硬件 token (Safenet USB eTokens) 完成。 自从我不得不切换到 EV 代码签名后,我注
我最近在我的网站上安装了 EV SSL 证书,它是从 GlobalSign 购买的。我关注了https://www.globalsign.com/support/install/install_apa
我有两个包含(唯一)字符串的文件:第一个是 1.txt,有大约 1000,000 个唯一字符串,而 2.txt 有大约 10,000 个唯一字符串。我想删除 1.txt 中所有出现的 2.txt 字符
当我尝试通过 ev.preventDefault() 使用对象解构时,我在 Chrome 中收到以下错误: 未捕获的类型错误:非法调用 但是,当我使用 ev.preventDefault() 而不进行
在redis Async Context中,定义了struct ev: struct { void *data; void (*addRead)(void *privdata);
明日方舟SW-EV-4通关攻略 1.左侧单先锋开,上医疗朝右,右侧补上先锋,由于关卡的敌人魔抗比较高,中间靠下补上单体狙,中间靠上补上群狙,一律朝下,右侧补上医疗先锋换重装 2.接下来是背板,6
明日方舟SW-EV-3通关攻略 1.双先锋开,草丛补上狙击术士朝左,医疗朝右即可 2.8杀之后上路会有雷达兵,能照出你草丛的角色,同时也会刷一些术士,如果不想高台被打就下工具人切雷达兵,或者先锋
1、首先是要用练度最高的狙击挡门口(蓝毒最好精2一级 没有的话就精1六十级加一个强一点的单奶) 2、之后2个单法和一个辅助(最好用史都华德、紫兰、阿米驴)主打后面的飞机 3、等到飞机打完了,大锤
问题描述 明日方舟SW-EV-5突袭怎么通关 精选答案 1、开局先放蓝毒在右侧清兵 2、等左边大锤哥走过临光的位置,确保不会拉到仇恨,下临光 3、等费用能下小羊时,下小羊 4、等费用能下
当我有这样的事情时 ".mylabel click": function (el,ev){ //mycode in here } el 是什么意思? ev 是什么意思? 我尝试在 canjs 中搜索它
我的公司从赛门铁克购买了 EV 证书,用于我们生产的软件产品。具体称为:Symantec Class 3 Extended Validation Code Signing CA – G2。 我们使用
我有一个这样创建的文件句柄对象(为清楚起见略作编辑): sub TIEHANDLE { return $_[0] if ref($_[0]); my $class = shift;
使用 preventDefault 停止点击“a”标签以滚动回页面顶部。另一方面,如果我在 jQuery 中编码了 .preventDefault(),我的“a”标签将得不到任何响应。也许你们可以提供
我目前在一个小型网站上工作。为了让它看起来更合法和专业,我想在浏览栏(EV SSL 证书)中有一个带有我名字的绿色锁。为普通和 EV SSL 证书创建 2 个 .pem 文件。问题是:我不知道如何继续
我最近从 comodosslstore.com 为我的站点购买了 EV ssl 证书,该站点托管在 GCP 上并从 bluehost 购买了域,但现在我在验证我的身份时遇到了一些问题,并且在我的 ss
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
考虑以下示例代码,它使用 TrustManager 记录传出连接是否使用了有效证书(但在所有情况下都接受连接): import java.security.*; import java.securit
我是一名优秀的程序员,十分优秀!