ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/AIO.xs
(Generate patch)

Comparing IO-AIO/AIO.xs (file contents):
Revision 1.126 by root, Thu Sep 25 07:56:07 2008 UTC vs.
Revision 1.127 by root, Tue Sep 30 13:17:32 2008 UTC

80# define SvVAL64 SvIV 80# define SvVAL64 SvIV
81#else 81#else
82# define SvVAL64 SvNV 82# define SvVAL64 SvNV
83#endif 83#endif
84 84
85/*****************************************************************************/
86
87#if __GNUC__ >= 3
88# define expect(expr,value) __builtin_expect ((expr),(value))
89#else
90# define expect(expr,value) (expr)
91#endif
92
93#define expect_false(expr) expect ((expr) != 0, 0)
94#define expect_true(expr) expect ((expr) != 0, 1)
95
96/*****************************************************************************/
97
85static HV *stash; 98static HV *stash;
86typedef SV SV8; /* byte-sv, used for argument-checking */ 99typedef SV SV8; /* byte-sv, used for argument-checking */
87 100
88#define AIO_REQ_KLASS "IO::AIO::REQ" 101#define AIO_REQ_KLASS "IO::AIO::REQ"
89#define AIO_GRP_KLASS "IO::AIO::GRP" 102#define AIO_GRP_KLASS "IO::AIO::GRP"
181 194
182static void req_submit (eio_req *req) 195static void req_submit (eio_req *req)
183{ 196{
184 eio_submit (req); 197 eio_submit (req);
185 198
186 if (on_next_submit) 199 if (expect_false (on_next_submit))
187 { 200 {
188 dSP; 201 dSP;
189 SV *cb = sv_2mortal (on_next_submit); 202 SV *cb = sv_2mortal (on_next_submit);
190 203
191 on_next_submit = 0; 204 on_next_submit = 0;
896{ 909{
897 dREQ; 910 dREQ;
898 911
899 req->type = EIO_GROUP; 912 req->type = EIO_GROUP;
900 913
901 eio_submit (req); 914 req_submit (req);
902 XPUSHs (req_sv (req, AIO_GRP_KLASS)); 915 XPUSHs (req_sv (req, AIO_GRP_KLASS));
903} 916}
904 917
905void 918void
906aio_nop (SV *callback=&PL_sv_undef) 919aio_nop (SV *callback=&PL_sv_undef)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines