ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/BDB/schmorp.h
(Generate patch)

Comparing BDB/schmorp.h (file contents):
Revision 1.5 by root, Sat Jul 18 05:58:09 2009 UTC vs.
Revision 1.7 by root, Wed Mar 31 00:44:51 2010 UTC

19#define PERL_VERSION_ATLEAST(a,b,c) \ 19#define PERL_VERSION_ATLEAST(a,b,c) \
20 (PERL_REVISION > (a) \ 20 (PERL_REVISION > (a) \
21 || (PERL_REVISION == (a) \ 21 || (PERL_REVISION == (a) \
22 && (PERL_VERSION > (b) \ 22 && (PERL_VERSION > (b) \
23 || (PERL_VERSION == (b) && PERL_SUBVERSION >= (c))))) 23 || (PERL_VERSION == (b) && PERL_SUBVERSION >= (c)))))
24
25#ifndef PERL_MAGIC_ext
26# define PERL_MAGIC_ext '~'
27#endif
24 28
25#if !PERL_VERSION_ATLEAST (5,6,0) 29#if !PERL_VERSION_ATLEAST (5,6,0)
26# ifndef PL_ppaddr 30# ifndef PL_ppaddr
27# define PL_ppaddr ppaddr 31# define PL_ppaddr ppaddr
28# endif 32# endif
440 if (epp->len) 444 if (epp->len)
441 { 445 {
442 if (dup2 (epn.fd [0], epp->fd [0]) < 0) 446 if (dup2 (epn.fd [0], epp->fd [0]) < 0)
443 croak ("unable to dup over old event pipe"); /* should not croak */ 447 croak ("unable to dup over old event pipe"); /* should not croak */
444 448
445 if (epp->fd [1] != epp->fd [0])
446 close (epn.fd [0]); 449 close (epn.fd [0]);
450
451 if (epn.fd [0] == epn.fd [1])
452 epn.fd [1] = epp->fd [0];
447 453
448 epn.fd [0] = epp->fd [0]; 454 epn.fd [0] = epp->fd [0];
449 } 455 }
450 456
451 *epp = epn; 457 *epp = epn;
472 struct pollfd pfd; 478 struct pollfd pfd;
473 479
474 pfd.fd = s_epipe_fd (epp); 480 pfd.fd = s_epipe_fd (epp);
475 pfd.events = POLLIN; 481 pfd.events = POLLIN;
476 482
477 return poll (&pfd, 1, 0); 483 return poll (&pfd, 1, -1);
478#endif 484#endif
479} 485}
480 486
481#endif 487#endif
482 488

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines